main.sql 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626
  1. -- ----------------------------
  2. -- 1. 背调分类表 (main_back_category)
  3. -- ----------------------------
  4. DROP TABLE IF EXISTS `main_back_category`;
  5. CREATE TABLE `main_back_category` (
  6. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  7. `name` varchar(255) NOT NULL COMMENT '分类名称',
  8. `price` decimal(10, 2) DEFAULT '0.00' COMMENT '分类价格',
  9. `status` char(1) DEFAULT '1' COMMENT '状态(0停用 1正常)',
  10. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  11. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  12. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  13. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  14. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  15. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  16. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  17. PRIMARY KEY (`id`)
  18. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='背调分类表';
  19. -- ----------------------------
  20. -- 2. 背调条款表 (main_back_clause)
  21. -- ----------------------------
  22. DROP TABLE IF EXISTS `main_back_clause`;
  23. CREATE TABLE `main_back_clause` (
  24. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  25. `category_id` bigint NOT NULL COMMENT '所属分类ID',
  26. `name` varchar(255) NOT NULL COMMENT '条款名称',
  27. `type` varchar(50) DEFAULT NULL COMMENT '条款类型(字典:sys_clause_type)',
  28. `description` text COMMENT '条款描述',
  29. `price` decimal(10,2) DEFAULT '0.00' COMMENT '条款单价',
  30. `status` char(1) DEFAULT '1' COMMENT '状态(0停用 1正常)',
  31. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  32. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  33. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  34. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  35. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  36. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  37. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  38. PRIMARY KEY (`id`),
  39. KEY `idx_category_id` (`category_id`)
  40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='背调条款表';
  41. -- ----------------------------
  42. -- 3. 学员个人信息表 (main_student)
  43. -- ----------------------------
  44. DROP TABLE IF EXISTS `main_student`;
  45. CREATE TABLE `main_student` (
  46. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '学员ID',
  47. `name` varchar(50) NOT NULL COMMENT '姓名',
  48. `mobile` varchar(20) NOT NULL COMMENT '手机号',
  49. `id_card_number` varchar(50) DEFAULT NULL COMMENT '证件号码',
  50. `unique_code` varchar(32) NOT NULL COMMENT '背调/测评唯一码',
  51. `gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)',
  52. `avatar` bigint DEFAULT NULL COMMENT '头像URL',
  53. `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  54. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '所属租户(默认平台)',
  55. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  56. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  57. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  58. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  59. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  60. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  61. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  62. PRIMARY KEY (`id`),
  63. UNIQUE KEY `uk_mobile` (`mobile`),
  64. UNIQUE KEY `uk_unique_code` (`unique_code`),
  65. UNIQUE KEY `uk_id_card` (`id_card_number`)
  66. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学员个人信息表';
  67. -- ----------------------------
  68. -- 4. 企业候选人关系表 (main_candidate)
  69. -- ----------------------------
  70. DROP TABLE IF EXISTS `main_candidate`;
  71. CREATE TABLE `main_candidate` (
  72. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  73. `tenant_id` varchar(20) NOT NULL COMMENT '所属租户(企业ID)',
  74. `student_id` bigint NOT NULL COMMENT '关联学员ID',
  75. `source` varchar(50) DEFAULT NULL COMMENT '来源渠道',
  76. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  77. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  78. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  79. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  80. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  81. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  82. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  83. PRIMARY KEY (`id`),
  84. KEY `idx_tenant_id` (`tenant_id`),
  85. KEY `idx_student_id` (`student_id`)
  86. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业候选人关系表';
  87. -- ----------------------------
  88. -- 5. 背调订单表 (main_back_order)
  89. -- ----------------------------
  90. DROP TABLE IF EXISTS `main_back_order`;
  91. CREATE TABLE `main_back_order` (
  92. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  93. `order_no` varchar(64) NOT NULL COMMENT '订单编号',
  94. `tenant_id` varchar(20) NOT NULL COMMENT '下单租户(企业ID)',
  95. `category_id` bigint DEFAULT NULL COMMENT '背调套餐ID',
  96. `category_name` varchar(255) DEFAULT NULL COMMENT '套餐名称快照',
  97. `total_amount` decimal(10, 2) DEFAULT '0.00' COMMENT '订单金额',
  98. `status` char(1) DEFAULT '0' COMMENT '订单状态(0待处理 1进行中 2已完成 3已退款)',
  99. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  100. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  101. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  102. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  103. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  104. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  105. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  106. PRIMARY KEY (`id`),
  107. UNIQUE KEY `uk_order_no` (`order_no`),
  108. KEY `idx_tenant_id` (`tenant_id`)
  109. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='背调订单表';
  110. -- ----------------------------
  111. -- 6. 背调执行记录表 (main_back_record)
  112. -- ----------------------------
  113. DROP TABLE IF EXISTS `main_back_record`;
  114. CREATE TABLE `main_back_record` (
  115. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID',
  116. `order_id` bigint NOT NULL COMMENT '关联订单ID',
  117. `candidate_id` bigint NOT NULL COMMENT '关联企业候选人ID',
  118. `status` varchar(20) DEFAULT '未完成' COMMENT '状态(完成、未完成、失败)',
  119. `report_url` varchar(500) DEFAULT NULL COMMENT '报告地址',
  120. `finish_time` datetime DEFAULT NULL COMMENT '完成时间',
  121. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  122. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  123. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  124. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  125. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  126. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  127. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  128. PRIMARY KEY (`id`),
  129. KEY `idx_order_id` (`order_id`),
  130. KEY `idx_candidate_id` (`candidate_id`)
  131. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='背调执行记录表';
  132. -- ----------------------------
  133. -- 7. 企业入驻申请表 (main_company_apply)
  134. -- ----------------------------
  135. DROP TABLE IF EXISTS `main_company_apply`;
  136. CREATE TABLE `main_company_apply` (
  137. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  138. `apply_no` varchar(64) DEFAULT NULL COMMENT '申请编号',
  139. `company_name` varchar(255) DEFAULT NULL COMMENT '企业名称',
  140. `official_account` varchar(100) DEFAULT NULL COMMENT '公众号名称',
  141. `office_address` varchar(500) DEFAULT NULL COMMENT '办公地址',
  142. `credit_code` varchar(50) DEFAULT NULL COMMENT '统一社会信用代码',
  143. `auth_letter` bigint DEFAULT NULL COMMENT '授权委托书(文件ID)',
  144. `avatar` bigint DEFAULT NULL COMMENT '企业logo',
  145. `surname` varchar(50) DEFAULT NULL COMMENT '联系人姓',
  146. `name` varchar(50) DEFAULT NULL COMMENT '联系人名',
  147. `mobile` varchar(20) DEFAULT NULL COMMENT '联系电话',
  148. `apply_status` tinyint DEFAULT '0' COMMENT '申请状态(0待审核 1已通过 2已驳回)',
  149. `audit_id` bigint DEFAULT NULL COMMENT '审核ID',
  150. `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户ID',
  151. `reject_reason` varchar(500) DEFAULT NULL COMMENT '驳回原因',
  152. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  153. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  154. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  155. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  156. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  157. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  158. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  159. PRIMARY KEY (`id`),
  160. KEY `idx_tenant_id` (`tenant_id`),
  161. KEY `idx_apply_no` (`apply_no`)
  162. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业入驻申请表';
  163. -- ----------------------------
  164. -- 8. 岗位发布申请表 (main_post_apply)
  165. -- ----------------------------
  166. DROP TABLE IF EXISTS `main_post_apply`;
  167. CREATE TABLE `main_post_apply` (
  168. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  169. `apply_no` varchar(64) DEFAULT NULL COMMENT '申请编号',
  170. `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户ID',
  171. `post_name` varchar(255) DEFAULT NULL COMMENT '岗位名称',
  172. `company_name` varchar(255) DEFAULT NULL COMMENT '公司名称',
  173. `post_description` varchar(500) DEFAULT NULL COMMENT '岗位描述',
  174. `work_province` varchar(100) DEFAULT NULL COMMENT '工作省份',
  175. `work_city` varchar(100) DEFAULT NULL COMMENT '工作城市',
  176. `work_district` varchar(100) DEFAULT NULL COMMENT '工作区县',
  177. `work_address` varchar(500) DEFAULT NULL COMMENT '工作详细地址',
  178. `post_type` varchar(50) DEFAULT NULL COMMENT '岗位类型(字典值)',
  179. `education_requirement` varchar(50) DEFAULT NULL COMMENT '学历要求(字典值)',
  180. `salary_type` varchar(50) DEFAULT NULL COMMENT '薪资类型(字典值)',
  181. `salary_range` varchar(100) DEFAULT NULL COMMENT '薪资范围',
  182. `recruit_num` int DEFAULT NULL COMMENT '招聘人数',
  183. `registration_start_date` datetime DEFAULT NULL COMMENT '报名开始时间',
  184. `registration_end_date` datetime DEFAULT NULL COMMENT '报名结束时间',
  185. `is_urgent` tinyint(1) DEFAULT '0' COMMENT '是否急招',
  186. `school_requirement` varchar(50) DEFAULT NULL COMMENT '学校要求(字典值)',
  187. `gender_requirement` varchar(50) DEFAULT NULL COMMENT '性别要求(字典值)',
  188. `grade_requirement` varchar(50) DEFAULT NULL COMMENT '年级要求(字典值)',
  189. `arrival_time` varchar(50) DEFAULT NULL COMMENT '到岗时间(字典值)',
  190. `internship_duration` varchar(50) DEFAULT NULL COMMENT '实习时长(字典值)',
  191. `willing_to_travel` tinyint(1) DEFAULT '0' COMMENT '是否愿意出差',
  192. `welfare_tags` varchar(500) DEFAULT NULL COMMENT '福利标签',
  193. `job_requirement` text COMMENT '岗位要求',
  194. `post_level` varchar(50) DEFAULT NULL COMMENT '岗位等级(字典值)',
  195. `assessment_time` varchar(50) DEFAULT NULL COMMENT '测评时长(分钟)',
  196. `grade_a` decimal(10,2) DEFAULT NULL COMMENT '能力A及格分',
  197. `grade_b` decimal(10,2) DEFAULT NULL COMMENT '能力B及格分',
  198. `grade_c` decimal(10,2) DEFAULT NULL COMMENT '能力C及格分',
  199. `apply_status` tinyint DEFAULT '0' COMMENT '申请状态',
  200. `audit_id` bigint DEFAULT NULL COMMENT '审核ID',
  201. `post_id` bigint DEFAULT NULL COMMENT '对应已发布岗位ID',
  202. `reject_reason` varchar(500) DEFAULT NULL COMMENT '驳回原因',
  203. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  204. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  205. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  206. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  207. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  208. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  209. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  210. PRIMARY KEY (`id`),
  211. KEY `idx_tenant_id` (`tenant_id`),
  212. KEY `idx_apply_no` (`apply_no`)
  213. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='岗位发布申请表';
  214. -- ----------------------------
  215. -- 9. 审核记录表 (main_audit)
  216. -- ----------------------------
  217. DROP TABLE IF EXISTS `main_audit`;
  218. CREATE TABLE `main_audit` (
  219. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  220. `audit_type` tinyint DEFAULT NULL COMMENT '审核类型(1企业入驻 2岗位发布)',
  221. `target_id` bigint DEFAULT NULL COMMENT '审核目标ID',
  222. `audit_result` tinyint DEFAULT NULL COMMENT '审核结果(1通过 2驳回)',
  223. `audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注',
  224. `deposit` decimal(10,2) DEFAULT NULL COMMENT '保证金',
  225. `final_payment` decimal(10,2) DEFAULT NULL COMMENT '尾款',
  226. `audit_time` datetime DEFAULT NULL COMMENT '审核时间',
  227. `audit_by` bigint DEFAULT NULL COMMENT '审核人ID',
  228. `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户ID',
  229. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  230. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  231. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  232. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  233. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  234. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  235. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  236. PRIMARY KEY (`id`),
  237. KEY `idx_tenant_id` (`tenant_id`),
  238. KEY `idx_target_id` (`target_id`)
  239. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审核记录表';
  240. -- ----------------------------
  241. -- 10. 字典数据
  242. -- ----------------------------
  243. -- 字典类型
  244. DELETE FROM `sys_dict_type` WHERE `dict_type` = 'sys_clause_type';
  245. INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
  246. VALUES (null, '背调条款类型', 'sys_clause_type', '0', 1, sysdate(), 1, sysdate(), '背调条款类型列表');
  247. -- 字典数据
  248. DELETE FROM `sys_dict_data` WHERE `dict_type` = 'sys_clause_type';
  249. INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
  250. VALUES (null, 1, '身份风险', '身份风险', 'sys_clause_type', '', 'primary', 'N', '0', 1, sysdate(), 1, sysdate(), '身份风险');
  251. INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
  252. VALUES (null, 2, '职业风险', '职业风险', 'sys_clause_type', '', 'warning', 'N', '0', 1, sysdate(), 1, sysdate(), '职业风险');
  253. INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
  254. VALUES (null, 3, '能力评估', '能力评估', 'sys_clause_type', '', 'success', 'N', '0', 1, sysdate(), 1, sysdate(), '能力评估');
  255. CREATE TABLE `sys_tag` (
  256. `id` bigint NOT NULL COMMENT '主键ID',
  257. `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标签名称',
  258. `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '标签说明',
  259. `status` tinyint DEFAULT '0' COMMENT '状态 (0:启用, 1:停用)',
  260. `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  261. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  262. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  263. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  264. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  265. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  266. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  267. PRIMARY KEY (`id`) USING BTREE
  268. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='标签定义表';
  269. CREATE TABLE `main_position` (
  270. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
  271. `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '租户ID',
  272. `post_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '岗位名称',
  273. `post_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '岗位描述',
  274. `work_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '工作省份',
  275. `work_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '工作城市',
  276. `work_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '工作区县',
  277. `work_address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '详细地址',
  278. `post_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '岗位类型(字典:main_position_type)',
  279. `education_requirement` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '学历要求',
  280. `salary_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '薪资类型',
  281. `salary_range` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '薪资范围',
  282. `recruit_num` int NOT NULL COMMENT '招聘人数',
  283. `registration_start_date` date DEFAULT NULL COMMENT '报名开始时间',
  284. `registration_end_date` date DEFAULT NULL COMMENT '报名结束时间',
  285. `is_urgent` tinyint(1) DEFAULT '0' COMMENT '是否急招(0-否 1-是)',
  286. `school_requirement` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '学校要求(字典:main_education)',
  287. `gender_requirement` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '性别要求(字典:sys_user_sex)',
  288. `grade_requirement` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '年级要求(字典:main_experience)',
  289. `arrival_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '到岗时间(字典:main_arrival_time)',
  290. `internship_duration` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '实习时长(字典:main_internship_duration)',
  291. `willing_to_travel` tinyint(1) DEFAULT '0' COMMENT '是否愿意出差(0-否 1-是)',
  292. `welfare_tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '福利标签',
  293. `job_requirement` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '岗位要求',
  294. `post_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '岗位等级(字典:(main_position_level))',
  295. `assessment_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '测评时长',
  296. `grade_a` decimal(10,2) DEFAULT NULL COMMENT '能力A及格分',
  297. `grade_b` decimal(10,2) DEFAULT NULL COMMENT '能力B及格分',
  298. `grade_c` decimal(10,2) DEFAULT NULL COMMENT '能力C及格分',
  299. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  300. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  301. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  302. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  303. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  304. `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志',
  305. PRIMARY KEY (`id`) USING BTREE,
  306. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  307. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='岗位表(这是要发布出去的,与sys_post不同)';
  308. CREATE TABLE `main_student` (
  309. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '学员ID',
  310. `student_no` varchar(30) NOT NULL COMMENT '学员展示编号(如U2023071567)',
  311. `name` varchar(50) NOT NULL COMMENT '学员姓名',
  312. `mobile` varchar(11) NOT NULL COMMENT '联络手机号',
  313. `email` varchar(50) DEFAULT '' COMMENT '电子邮箱',
  314. `id_card_number` varchar(18) DEFAULT '' COMMENT '证件号码',
  315. `gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)',
  316. `avatar` bigint DEFAULT NULL COMMENT '头像ID(关联oss表)',
  317. `user_type` char(1) DEFAULT '2' COMMENT '用户类型(1付费用户 2普通用户 3黑名单)',
  318. `total_amount` decimal(10,2) DEFAULT '0.00' COMMENT '历史累计消费金额',
  319. `availability` varchar(50) DEFAULT '' COMMENT '求职状态/到岗时间(如:一周内到岗)',
  320. `job_intention` varchar(255) DEFAULT '' COMMENT '求职意向(岗位ID或名称,逗号分隔)',
  321. `job_type` varchar(50) DEFAULT NULL COMMENT '建议类型(1全职 2实习 3兼职)',
  322. `school_name` varchar(100) DEFAULT '' COMMENT '毕业/就读院校',
  323. `education` varchar(50) DEFAULT '' COMMENT '学历要求(字典:main_education)',
  324. `grade` varchar(50) DEFAULT '' COMMENT '当前年级(字典:main_experience)',
  325. `internship_duration` varchar(50) DEFAULT '' COMMENT '实习时长(字典:main_internship_duration)',
  326. `resume_file` bigint DEFAULT NULL COMMENT '个人简历附件ID(关联oss表)',
  327. `status` char(1) DEFAULT '0' COMMENT '账号状态(0正常 1停用)',
  328. `del_flag` char(1) DEFAULT '0' COMMENT '逻辑删除标志(0存在 1删除)',
  329. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '所属租户/企业编号',
  330. `login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
  331. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  332. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  333. `create_time` datetime DEFAULT NULL COMMENT '注册/创建日期',
  334. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  335. `update_time` datetime DEFAULT NULL COMMENT '最后信息更新时间',
  336. `remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
  337. PRIMARY KEY (`id`) USING BTREE,
  338. UNIQUE KEY `uk_student_no` (`student_no`) USING BTREE,
  339. UNIQUE KEY `uk_mobile` (`mobile`) USING BTREE,
  340. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  341. ) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学员简历与个人信息总表';
  342. -- 1. 学员教育经历表
  343. CREATE TABLE IF NOT EXISTS `main_student_education` (
  344. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  345. `student_id` bigint(20) NOT NULL COMMENT '学员ID (关联 main_student.id)',
  346. `school` varchar(100) DEFAULT NULL COMMENT '学校名称',
  347. `education` varchar(50) DEFAULT NULL COMMENT '学历',
  348. `start_time` varchar(20) DEFAULT NULL COMMENT '开始时间 (如 2022.9)',
  349. `end_time` varchar(20) DEFAULT NULL COMMENT '结束时间 (如 2026.7)',
  350. `major` varchar(100) DEFAULT NULL COMMENT '专业',
  351. `campus_experience` text DEFAULT NULL COMMENT '在校经历描述',
  352. `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户ID',
  353. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  354. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  355. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  356. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  357. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  358. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  359. PRIMARY KEY (`id`),
  360. KEY `idx_student_id` (`student_id`)
  361. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学员教育经历表';
  362. -- 2. 学员工作经历表
  363. CREATE TABLE IF NOT EXISTS `main_student_experience` (
  364. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  365. `student_id` bigint(20) NOT NULL COMMENT '学员ID (关联 main_student.id)',
  366. `company` varchar(100) DEFAULT NULL COMMENT '公司名称',
  367. `industry` varchar(100) DEFAULT NULL COMMENT '所属行业',
  368. `start_time` varchar(20) DEFAULT NULL COMMENT '开始时间',
  369. `end_time` varchar(20) DEFAULT NULL COMMENT '结束时间',
  370. `is_internship` tinyint(1) DEFAULT '0' COMMENT '是否实习 (0否 1是)',
  371. `job_title` varchar(100) DEFAULT NULL COMMENT '职位名称',
  372. `department` varchar(100) DEFAULT NULL COMMENT '所属部门',
  373. `work_content` text DEFAULT NULL COMMENT '工作内容描述',
  374. `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户ID',
  375. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  376. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  377. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  378. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  379. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  380. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  381. PRIMARY KEY (`id`),
  382. KEY `idx_student_id` (`student_id`)
  383. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学员工作经历表';
  384. -- 3. 学员项目经历表
  385. CREATE TABLE IF NOT EXISTS `main_student_project` (
  386. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  387. `student_id` bigint(20) NOT NULL COMMENT '学员ID (关联 main_student.id)',
  388. `project_name` varchar(100) DEFAULT NULL COMMENT '项目名称',
  389. `role` varchar(100) DEFAULT NULL COMMENT '担任角色',
  390. `start_time` varchar(20) DEFAULT NULL COMMENT '开始时间',
  391. `end_time` varchar(20) DEFAULT NULL COMMENT '结束时间',
  392. `description` text DEFAULT NULL COMMENT '项目描述',
  393. `achievement` text DEFAULT NULL COMMENT '业绩描述',
  394. `link` varchar(255) DEFAULT NULL COMMENT '项目链接',
  395. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  396. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  397. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  398. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  399. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  400. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
  401. PRIMARY KEY (`id`),
  402. KEY `idx_student_id` (`student_id`)
  403. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学员项目经历表';
  404. -- =====================================================
  405. -- 1. 坐席配置表
  406. -- 对应前端: SeatConfig.vue
  407. -- =====================================================
  408. DROP TABLE IF EXISTS cs_seat_config;
  409. CREATE TABLE cs_seat_config (
  410. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '坐席ID',
  411. seat_name VARCHAR(50) NOT NULL COMMENT '坐席名称(如:客服小A)',
  412. avatar VARCHAR(500) DEFAULT NULL COMMENT '坐席头像URL',
  413. module VARCHAR(20) NOT NULL COMMENT '负责模块: mini(小程序), merchant(商家), all(全部)',
  414. status TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态: 0=停用, 1=启用',
  415. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  416. create_time datetime DEFAULT NULL COMMENT '创建时间',
  417. create_by bigint DEFAULT NULL COMMENT '上传人',
  418. update_time datetime DEFAULT NULL COMMENT '更新时间',
  419. update_by bigint DEFAULT NULL COMMENT '更新人',
  420. PRIMARY KEY (id)
  421. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='坐席配置表';
  422. -- 坐席与客服人员关联表
  423. DROP TABLE IF EXISTS cs_seat_waiter;
  424. CREATE TABLE cs_seat_waiter (
  425. id BIGINT NOT NULL AUTO_INCREMENT,
  426. seat_id BIGINT NOT NULL COMMENT '坐席ID',
  427. user_id BIGINT NOT NULL COMMENT '客服用户ID(关联若依sys_user)',
  428. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  429. create_time datetime DEFAULT NULL COMMENT '创建时间',
  430. create_by bigint DEFAULT NULL COMMENT '上传人',
  431. update_time datetime DEFAULT NULL COMMENT '更新时间',
  432. update_by bigint DEFAULT NULL COMMENT '更新人',
  433. PRIMARY KEY (id),
  434. KEY idx_seat_id (seat_id),
  435. KEY idx_user_id (user_id)
  436. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='坐席-客服关联表';
  437. -- 初始数据
  438. INSERT INTO cs_seat_config (seat_name, avatar, module, status) VALUES
  439. ('客服小A', 'https://api.dicebear.com/7.x/avataaars/svg?seed=A', '小程序', 1),
  440. ('客服小B', 'https://api.dicebear.com/7.x/avataaars/svg?seed=B', '官网', 1),
  441. ('客服小C', 'https://api.dicebear.com/7.x/avataaars/svg?seed=C', '小程序', 0);
  442. -- =====================================================
  443. -- 2. 会话表(一个 User/商家 与客服建立一个会话)
  444. -- =====================================================
  445. DROP TABLE IF EXISTS cs_session;
  446. CREATE TABLE cs_session (
  447. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '会话ID',
  448. session_no VARCHAR(32) NOT NULL UNIQUE COMMENT '会话编号,唯一,用于WS频道路由',
  449. session_type TINYINT(1) NOT NULL COMMENT '会话类型: 1=小程序用户, 2=PC商家',
  450. from_user_id BIGINT NOT NULL COMMENT '发起用户ID(小程序用户或商家用户ID)',
  451. from_user_name VARCHAR(100) DEFAULT '' COMMENT '发起方昵称',
  452. from_user_avatarVARCHAR(500) DEFAULT '' COMMENT '发起方头像',
  453. seat_id BIGINT DEFAULT NULL COMMENT '当前分配坐席ID',
  454. waiter_id BIGINT DEFAULT NULL COMMENT '当前接待客服ID',
  455. status TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态: 1=进行中, 2=已结束',
  456. last_msg VARCHAR(500) DEFAULT '' COMMENT '最后一条消息摘要(用于列表展示)',
  457. last_msg_time DATETIME DEFAULT NULL COMMENT '最后消息时间',
  458. unread_count INT NOT NULL DEFAULT 0 COMMENT '客服侧未读消息数',
  459. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  460. create_time datetime DEFAULT NULL COMMENT '创建时间',
  461. create_by bigint DEFAULT NULL COMMENT '上传人',
  462. update_time datetime DEFAULT NULL COMMENT '更新时间',
  463. update_by bigint DEFAULT NULL COMMENT '更新人',
  464. PRIMARY KEY (id),
  465. KEY idx_from_user (from_user_id),
  466. KEY idx_waiter (waiter_id),
  467. KEY idx_status (status)
  468. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客服会话表';
  469. -- =====================================================
  470. -- 3. 消息表(核心表,存储所有聊天消息)
  471. -- =====================================================
  472. DROP TABLE IF EXISTS cs_message;
  473. CREATE TABLE cs_message (
  474. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '消息ID',
  475. session_id BIGINT NOT NULL COMMENT '归属会话ID',
  476. msg_no VARCHAR(32) NOT NULL UNIQUE COMMENT '消息唯一编号(客户端生成,用于幂等)',
  477. sender_type TINYINT(1) NOT NULL COMMENT '发送方类型: 1=用户/商家, 2=客服, 3=系统',
  478. sender_id BIGINT NOT NULL COMMENT '发送者ID',
  479. msg_type VARCHAR(20) NOT NULL COMMENT '消息类型: text/image/file/job_card/order_card/emoji',
  480. content TEXT DEFAULT NULL COMMENT '文本消息内容',
  481. file_url VARCHAR(500) DEFAULT NULL COMMENT '图片/文件URL',
  482. file_name VARCHAR(255) DEFAULT NULL COMMENT '文件原始名称',
  483. file_size BIGINT DEFAULT NULL COMMENT '文件大小(字节)',
  484. file_type VARCHAR(100) DEFAULT NULL COMMENT '文件MIME类型',
  485. payload JSON DEFAULT NULL COMMENT '卡片类消息的结构化数据(job_card/order_card的JSON)',
  486. status TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态: 1=正常, 2=已撤回',
  487. is_read TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已读: 0=未读, 1=已读',
  488. send_time DATETIME NOT NULL COMMENT '发送时间',
  489. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  490. create_time datetime DEFAULT NULL COMMENT '创建时间',
  491. create_by bigint DEFAULT NULL COMMENT '上传人',
  492. update_time datetime DEFAULT NULL COMMENT '更新时间',
  493. update_by bigint DEFAULT NULL COMMENT '更新人',
  494. PRIMARY KEY (id),
  495. KEY idx_session (session_id),
  496. KEY idx_send_time (send_time),
  497. KEY idx_msg_type (msg_type)
  498. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='聊天消息表';
  499. -- =====================================================
  500. -- 4. 结算单(order_card)扩展表
  501. -- 配合消息表中 msg_type='order_card' 的消息使用
  502. -- 实现: 60秒倒计时自动失效
  503. -- =====================================================
  504. DROP TABLE IF EXISTS cs_order_card;
  505. CREATE TABLE cs_order_card (
  506. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '结算单ID',
  507. msg_id BIGINT NOT NULL COMMENT '关联消息ID',
  508. session_id BIGINT NOT NULL COMMENT '关联会话ID',
  509. order_name VARCHAR(200) NOT NULL COMMENT '项目名称',
  510. order_price DECIMAL(10, 2) NOT NULL COMMENT '支付金额',
  511. order_type VARCHAR(50) DEFAULT NULL COMMENT '订单类型说明',
  512. original_order_id BIGINT DEFAULT NULL COMMENT '关联平台真实订单ID',
  513. status VARCHAR(20) NOT NULL DEFAULT 'pending'
  514. COMMENT '状态: pending=待支付, paid=已支付, cancelled=已取消, expired=已失效',
  515. expire_time DATETIME NOT NULL COMMENT '结算单过期时间(发送时间+60s)',
  516. pay_time DATETIME DEFAULT NULL COMMENT '实际支付时间',
  517. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  518. create_time datetime DEFAULT NULL COMMENT '创建时间',
  519. create_by bigint DEFAULT NULL COMMENT '上传人',
  520. update_time datetime DEFAULT NULL COMMENT '更新时间',
  521. update_by bigint DEFAULT NULL COMMENT '更新人',
  522. PRIMARY KEY (id),
  523. KEY idx_msg_id (msg_id),
  524. KEY idx_session (session_id),
  525. KEY idx_status (status),
  526. KEY idx_expire (expire_time)
  527. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='结算单表(order_card)';
  528. -- =====================================================
  529. -- 5. 工单表(客服工单管理)
  530. -- 对应前端: SeatConfig.vue 的工单子系统
  531. -- =====================================================
  532. DROP TABLE IF EXISTS cs_ticket;
  533. CREATE TABLE cs_ticket (
  534. id VARCHAR(32) NOT NULL COMMENT '工单编号(如: 20991216194)',
  535. session_id BIGINT DEFAULT NULL COMMENT '关联会话ID(若来自在线沟通)',
  536. user_id VARCHAR(50) NOT NULL COMMENT '反馈用户ID',
  537. user_name VARCHAR(100) NOT NULL COMMENT '反馈用户昵称',
  538. content TEXT NOT NULL COMMENT '反馈内容',
  539. source VARCHAR(20) NOT NULL COMMENT '反馈渠道: 小程序/商家',
  540. category VARCHAR(50) NOT NULL COMMENT '问题分类',
  541. status VARCHAR(20) NOT NULL DEFAULT 'pending'
  542. COMMENT '状态: pending=待处理, processing=处理中, completed=已完成, abandoned=已废弃',
  543. handler_id BIGINT DEFAULT NULL COMMENT '处理客服ID',
  544. handler_reply TEXT DEFAULT NULL COMMENT '客服处理回复',
  545. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  546. create_time datetime DEFAULT NULL COMMENT '创建时间',
  547. create_by bigint DEFAULT NULL COMMENT '上传人',
  548. update_time datetime DEFAULT NULL COMMENT '更新时间',
  549. update_by bigint DEFAULT NULL COMMENT '更新人',
  550. PRIMARY KEY (id),
  551. KEY idx_user (user_id),
  552. KEY idx_status (status),
  553. KEY idx_source (source)
  554. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客服工单表';
  555. -- =====================================================
  556. -- 7. 消息已读记录表(精确追踪已读状态)
  557. -- =====================================================
  558. DROP TABLE IF EXISTS cs_read_record;
  559. CREATE TABLE cs_read_record (
  560. id BIGINT NOT NULL AUTO_INCREMENT,
  561. session_id BIGINT NOT NULL COMMENT '会话ID',
  562. user_id BIGINT NOT NULL COMMENT '用户ID',
  563. last_read_msg_id BIGINT DEFAULT 0 COMMENT '已读到的消息ID',
  564. read_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  565. create_dept bigint DEFAULT NULL COMMENT '创建部门',
  566. create_time datetime DEFAULT NULL COMMENT '创建时间',
  567. create_by bigint DEFAULT NULL COMMENT '上传人',
  568. update_time datetime DEFAULT NULL COMMENT '更新时间',
  569. update_by bigint DEFAULT NULL COMMENT '更新人',
  570. PRIMARY KEY (id),
  571. UNIQUE KEY uk_session_user (session_id, user_id)
  572. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='消息已读记录表';