fulfiller.sql 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. # 2026/02/27 履约者管理模块
  2. # ============================
  3. # 履约者信息表
  4. # ============================
  5. CREATE TABLE `pet_system`.`flf_fulfiller`
  6. (
  7. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  8. `user_id` bigint COMMENT '关联系统用户ID',
  9. `name` varchar(50) NOT NULL COMMENT '姓名',
  10. `real_name` varchar(50) COMMENT '身份证真实姓名',
  11. `phone` varchar(20) NOT NULL COMMENT '手机号/账号',
  12. `password` varchar(100) COMMENT '登录密码',
  13. `gender` tinyint DEFAULT 1 COMMENT '性别 (1:男, 2:女)',
  14. `birthday` date COMMENT '出生日期',
  15. `age` int DEFAULT 0 COMMENT '年龄',
  16. `avatar` bigint COMMENT '头像',
  17. `id_card` varchar(20) COMMENT '身份证号',
  18. `id_card_front` bigint COMMENT '身份证正面',
  19. `id_card_back` bigint COMMENT '身份证背面',
  20. `id_card_expiry` date COMMENT '身份证有效期至',
  21. `service_types` varchar(255) COMMENT '服务类型(JSON数组, 如:宠物接送/上门喂遛/上门洗护)',
  22. `city_code` varchar(20) COMMENT '服务城市编码',
  23. `city_name` varchar(100) COMMENT '服务城市名称',
  24. `station_id` bigint COMMENT '归属站点ID',
  25. `work_type` varchar(20) DEFAULT 'part_time' COMMENT '工作性质 (full_time:全职, part_time:兼职)',
  26. `level_id` bigint COMMENT '等级ID',
  27. `points` int DEFAULT 0 COMMENT '当前积分',
  28. `balance` bigint DEFAULT 0 COMMENT '账户余额(分)',
  29. `status` varchar(20) DEFAULT 'resting' COMMENT '状态 (resting:休息, busy:接单中, disabled:禁用)',
  30. `auth_id` tinyint DEFAULT 0 COMMENT '是否身份证认证 (0:否, 1:是)',
  31. `auth_qual` tinyint DEFAULT 0 COMMENT '是否资质认证 (0:否, 1:是)',
  32. `qual_images` text COMMENT '资质证书图片(JSON)',
  33. `order_count` int DEFAULT 0 COMMENT '服务单量',
  34. `reject_count` int DEFAULT 0 COMMENT '拒单量',
  35. `rating` decimal(2, 1) DEFAULT 5.0 COMMENT '综合评分',
  36. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  37. `create_dept` bigint(20) COMMENT '创建部门',
  38. `create_by` bigint(20) COMMENT '创建者',
  39. `create_time` datetime COMMENT '创建时间',
  40. `update_by` bigint(20) COMMENT '更新者',
  41. `update_time` datetime COMMENT '更新时间'
  42. ) ENGINE = innoDB COMMENT = '履约者信息表';
  43. # ============================
  44. # 履约者审核记录表
  45. # ============================
  46. CREATE TABLE `pet_system`.`flf_audit`
  47. (
  48. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  49. `fulfiller_id` bigint COMMENT '履约者ID(通过后关联)',
  50. `type` varchar(20) NOT NULL COMMENT '审核类型 (register:入驻, qualification:资质变更)',
  51. `name` varchar(50) COMMENT '申请人姓名',
  52. `phone` varchar(20) COMMENT '申请人手机号',
  53. `gender` tinyint DEFAULT 0 COMMENT '性别 (1:男, 2:女)',
  54. `birthday` date COMMENT '出生日期',
  55. `work_type` varchar(20) COMMENT '工作类型 (full_time:全职, part_time:兼职)',
  56. `city` varchar(100) COMMENT '意向城市',
  57. `location` varchar(255) COMMENT '意向地点',
  58. `real_name` varchar(50) COMMENT '证件真实姓名',
  59. `id_card` varchar(20) COMMENT '身份证号',
  60. `id_valid_date` date COMMENT '证件有效期至',
  61. `id_card_front` bigint COMMENT '身份证人像面',
  62. `id_card_back` bigint COMMENT '身份证国徽面',
  63. `qualifications` text COMMENT '专业资质图片(JSON数组)',
  64. `service_types` varchar(255) COMMENT '申请服务类型(JSON数组)',
  65. `status` tinyint DEFAULT 0 COMMENT '状态 (0:待审核, 1:已通过, 2:已驳回)',
  66. `audit_by` bigint COMMENT '审核人ID',
  67. `audit_time` datetime COMMENT '审核时间',
  68. `reject_reason` varchar(500) COMMENT '驳回原因',
  69. `create_time` datetime COMMENT '申请提交时间',
  70. KEY `idx_fulfiller_id` (`fulfiller_id`)
  71. ) ENGINE = innoDB COMMENT = '履约者审核记录表';
  72. # ============================
  73. # 等级规则表
  74. # ============================
  75. CREATE TABLE `pet_system`.`flf_level`
  76. (
  77. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  78. `level` int NOT NULL COMMENT '等级数值(Lv.1, Lv.2...)',
  79. `name` varchar(50) NOT NULL COMMENT '等级名称',
  80. `icon` bigint COMMENT '等级图标',
  81. `bg_image` bigint COMMENT '等级背景图片',
  82. `min_points` int DEFAULT 0 COMMENT '最低积分',
  83. `max_points` int DEFAULT -1 COMMENT '最高积分(-1为无上限)',
  84. `holiday_multiplier` decimal(3, 1) DEFAULT 1.0 COMMENT '节假日积分倍率',
  85. `upgrade_rules` text COMMENT '升级规则配置(JSON: periodDays/minOrders/onTimeRate/complaintRate/maxViolations/accumulatedPoints)',
  86. `downgrade_type` varchar(20) DEFAULT 'points' COMMENT '降级规则类型 (points:仅积分不足, strict:不满足即降级)',
  87. `deductions` text COMMENT '扣分配置(JSON: late/violation/complaint)',
  88. `status` tinyint DEFAULT 0 COMMENT '状态 (0:启用, 1:停用)',
  89. `sort` int DEFAULT 0 COMMENT '排序',
  90. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  91. `create_dept` bigint(20) COMMENT '创建部门',
  92. `create_by` bigint(20) COMMENT '创建者',
  93. `create_time` datetime COMMENT '创建时间',
  94. `update_by` bigint(20) COMMENT '更新者',
  95. `update_time` datetime COMMENT '更新时间'
  96. ) ENGINE = innoDB COMMENT = '等级规则表';
  97. # ============================
  98. # 等级权益表
  99. # ============================
  100. CREATE TABLE `pet_system`.`flf_right`
  101. (
  102. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  103. `name` varchar(50) NOT NULL COMMENT '权益名称',
  104. `icon` bigint COMMENT '权益图标',
  105. `description` varchar(500) COMMENT '权益描述',
  106. `status` tinyint DEFAULT 0 COMMENT '状态 (0:启用, 1:停用)',
  107. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  108. `create_dept` bigint(20) COMMENT '创建部门',
  109. `create_by` bigint(20) COMMENT '创建者',
  110. `create_time` datetime COMMENT '创建时间',
  111. `update_by` bigint(20) COMMENT '更新者',
  112. `update_time` datetime COMMENT '更新时间'
  113. ) ENGINE = innoDB COMMENT = '等级权益表';
  114. # ============================
  115. # 等级-权益关联表
  116. # ============================
  117. CREATE TABLE `pet_system`.`flf_level_right`
  118. (
  119. `level_id` bigint NOT NULL COMMENT '等级ID',
  120. `right_id` bigint NOT NULL COMMENT '权益ID',
  121. PRIMARY KEY (`level_id`, `right_id`)
  122. ) ENGINE = innoDB COMMENT = '等级-权益关联表';
  123. # ============================
  124. # 积分变动记录表
  125. # ============================
  126. CREATE TABLE `pet_system`.`flf_points_log`
  127. (
  128. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  129. `fulfiller_id` bigint NOT NULL COMMENT '履约者ID',
  130. `type` varchar(20) NOT NULL COMMENT '变动类型 (add:增加, reduce:扣除)',
  131. `biz_type` varchar(20) COMMENT '业务类型 (order:订单, reward:奖励, punish:惩罚, adjust:手动调整)',
  132. `amount` int NOT NULL COMMENT '变动数值(正数)',
  133. `points_after` int DEFAULT 0 COMMENT '变动后积分',
  134. `reason` varchar(500) COMMENT '变动原因',
  135. `operator_id` bigint COMMENT '操作人ID',
  136. `create_time` datetime COMMENT '创建时间',
  137. KEY `idx_fulfiller_id` (`fulfiller_id`)
  138. ) ENGINE = innoDB COMMENT = '积分变动记录表';
  139. # ============================
  140. # 余额变动记录表
  141. # ============================
  142. CREATE TABLE `pet_system`.`flf_balance_log`
  143. (
  144. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  145. `fulfiller_id` bigint NOT NULL COMMENT '履约者ID',
  146. `type` varchar(20) NOT NULL COMMENT '变动方向 (add:增加, reduce:减少)',
  147. `sub_type` varchar(20) COMMENT '资金类型 (reward:奖励, punish:惩罚, salary:工资发放, withdraw:提现, other:其他)',
  148. `amount` bigint NOT NULL COMMENT '变动金额(分, 正数)',
  149. `balance_after` bigint DEFAULT 0 COMMENT '变动后余额(分)',
  150. `reason` varchar(500) COMMENT '备注说明',
  151. `operator_id` bigint COMMENT '操作人ID',
  152. `create_time` datetime COMMENT '创建时间',
  153. KEY `idx_fulfiller_id` (`fulfiller_id`)
  154. ) ENGINE = innoDB COMMENT = '余额变动记录表';
  155. # ============================
  156. # 奖惩记录表
  157. # ============================
  158. CREATE TABLE `pet_system`.`flf_reward_log`
  159. (
  160. `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
  161. `fulfiller_id` bigint NOT NULL COMMENT '履约者ID',
  162. `type` varchar(10) NOT NULL COMMENT '操作类型 (reward:奖励, punish:惩罚)',
  163. `target` varchar(10) NOT NULL COMMENT '关联项目 (points:积分, balance:余额)',
  164. `amount` int NOT NULL COMMENT '涉及数值',
  165. `reason` varchar(500) COMMENT '奖惩原因',
  166. `operator_id` bigint COMMENT '操作人ID',
  167. `operator_name` varchar(50) COMMENT '操作人名称',
  168. `create_time` datetime COMMENT '创建时间',
  169. KEY `idx_fulfiller_id` (`fulfiller_id`)
  170. ) ENGINE = innoDB COMMENT = '奖惩记录表';