archive.sql 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. # 2026/02/27 档案管理模块
  2. # ============================
  3. # 用户档案表
  4. # ============================
  5. CREATE TABLE `pet_system`.`usr_customer`
  6. (
  7. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  8. `open_id` varchar(100) COMMENT '微信OpenID',
  9. `nickname` varchar(50) COMMENT '昵称',
  10. `name` varchar(50) COMMENT '真实姓名',
  11. `gender` tinyint DEFAULT 0 COMMENT '性别 (0:男, 1:女, 2:未知)',
  12. `phone` varchar(20) COMMENT '手机号',
  13. `avatar` bigint COMMENT '头像',
  14. `area_id` bigint COMMENT '常驻区域ID',
  15. `station_id` bigint COMMENT '所属站点ID',
  16. `region_code` varchar(20) COMMENT '省市区编码',
  17. `address` varchar(255) COMMENT '详细住址',
  18. `house_type` varchar(20) DEFAULT 'elevator' COMMENT '房屋类型 (stairs:楼梯, elevator:电梯)',
  19. `entry_method` varchar(20) DEFAULT 'password' COMMENT '入门方式 (password:密码, key:钥匙)',
  20. `entry_password` varchar(50) COMMENT '开门密码',
  21. `key_location` varchar(100) COMMENT '钥匙位置',
  22. `source` varchar(50) COMMENT '来源渠道',
  23. `pet_count` int DEFAULT 0 COMMENT '宠物数量',
  24. `points` int DEFAULT 0 COMMENT '积分',
  25. `balance` bigint DEFAULT 0 COMMENT '余额(分)',
  26. `order_count` int DEFAULT 0 COMMENT '下单次数',
  27. `total_consume` bigint DEFAULT 0 COMMENT '总消费额(分)',
  28. `status` tinyint DEFAULT 0 COMMENT '状态 (0:正常, 1:冻结)',
  29. `remark` varchar(500) COMMENT '后台备注',
  30. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  31. `create_dept` bigint(20) COMMENT '创建部门',
  32. `create_by` bigint(20) COMMENT '创建者',
  33. `create_time` datetime COMMENT '创建时间',
  34. `update_by` bigint(20) COMMENT '更新者',
  35. `update_time` datetime COMMENT '更新时间'
  36. ) ENGINE = innoDB COMMENT = 'C端用户表';
  37. # ============================
  38. # 宠物档案表
  39. # ============================
  40. CREATE TABLE `pet_system`.`usr_pet`
  41. (
  42. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  43. `user_id` bigint NOT NULL COMMENT '所属用户ID',
  44. `name` varchar(50) NOT NULL COMMENT '宠物昵称',
  45. `avatar` bigint COMMENT '头像',
  46. `type` tinyint DEFAULT 1 COMMENT '类型 (1:猫, 2:狗, 3:其他)',
  47. `breed` varchar(50) COMMENT '品种',
  48. `gender` tinyint DEFAULT 1 COMMENT '性别 (1:公, 2:母)',
  49. `birthday` date COMMENT '出生日期',
  50. `age` int DEFAULT 0 COMMENT '年龄(岁)',
  51. `weight` decimal(5, 2) DEFAULT 0.00 COMMENT '体重(kg)',
  52. `size` varchar(20) DEFAULT 'small' COMMENT '体型 (small:小型, medium:中型, large:大型)',
  53. `is_sterilized` tinyint DEFAULT 0 COMMENT '是否绝育 (0:否, 1:是)',
  54. `arrival_time` date COMMENT '到家时间',
  55. `house_type` varchar(20) COMMENT '家庭房屋类型',
  56. `entry_method` varchar(20) COMMENT '入门方式',
  57. `entry_password` varchar(50) COMMENT '开门密码',
  58. `key_location` varchar(100) COMMENT '钥匙位置',
  59. `personality` varchar(255) COMMENT '性格关键词',
  60. `cute_personality` text COMMENT '萌宠性格描述',
  61. `health_status` varchar(50) DEFAULT '健康' COMMENT '健康状况',
  62. `aggression` tinyint DEFAULT 0 COMMENT '是否有攻击倾向 (0:否, 1:是)',
  63. `vaccine_status` varchar(50) COMMENT '疫苗状态',
  64. `vaccine_cert` bigint COMMENT '疫苗凭证图片',
  65. `medical_history` text COMMENT '既往病史',
  66. `allergies` text COMMENT '过敏史',
  67. `remark` varchar(500) COMMENT '特别备注',
  68. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  69. `create_dept` bigint(20) COMMENT '创建部门',
  70. `create_by` bigint(20) COMMENT '创建者',
  71. `create_time` datetime COMMENT '创建时间',
  72. `update_by` bigint(20) COMMENT '更新者',
  73. `update_time` datetime COMMENT '更新时间'
  74. ) ENGINE = innoDB COMMENT = '宠物档案表';
  75. # ============================
  76. # 标签定义表
  77. # ============================
  78. CREATE TABLE `pet_system`.`sys_tag`
  79. (
  80. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  81. `name` varchar(50) NOT NULL COMMENT '标签名称',
  82. `category` varchar(20) NOT NULL COMMENT '分类 (user:用户, pet:宠物, fulfiller:履约者)',
  83. `color_type` varchar(20) DEFAULT 'info' COMMENT '颜色样式 (primary, success, warning, danger, info)',
  84. `description` varchar(255) COMMENT '标签说明',
  85. `type` tinyint DEFAULT 2 COMMENT '类型 (1:系统内置, 2:自定义)',
  86. `status` tinyint DEFAULT 0 COMMENT '状态 (0:启用, 1:停用)',
  87. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  88. `create_dept` bigint(20) COMMENT '创建部门',
  89. `create_by` bigint(20) COMMENT '创建者',
  90. `create_time` datetime COMMENT '创建时间',
  91. `update_by` bigint(20) COMMENT '更新者',
  92. `update_time` datetime COMMENT '更新时间'
  93. ) ENGINE = innoDB COMMENT = '标签定义表';
  94. # ============================
  95. # 标签关联表
  96. # ============================
  97. CREATE TABLE `pet_system`.`sys_tag_rel`
  98. (
  99. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  100. `tag_id` bigint NOT NULL COMMENT '标签ID',
  101. `target_id` bigint NOT NULL COMMENT '目标对象ID',
  102. `target_type` varchar(20) NOT NULL COMMENT '目标类型 (user:用户, pet:宠物, fulfiller:履约者)',
  103. UNIQUE KEY `uk_tag_target` (`tag_id`, `target_id`, `target_type`)
  104. ) ENGINE = innoDB COMMENT = '标签关联表';
  105. # ============================
  106. # 档案变更日志表
  107. # ============================
  108. CREATE TABLE `pet_system`.`arc_change_log`
  109. (
  110. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  111. `target_id` bigint NOT NULL COMMENT '目标对象ID',
  112. `target_type` varchar(20) NOT NULL COMMENT '目标类型 (user:用户, pet:宠物)',
  113. `content` varchar(500) COMMENT '日志内容',
  114. `log_type` varchar(20) DEFAULT 'remark' COMMENT '日志类型 (remark:备注, system:系统, change:变更)',
  115. `operator_id` bigint COMMENT '操作人ID',
  116. `operator_name` varchar(50) COMMENT '操作人名称',
  117. `create_time` datetime COMMENT '创建时间',
  118. KEY `idx_target` (`target_id`, `target_type`)
  119. ) ENGINE = innoDB COMMENT = '档案变更日志表';