main.sql 38 KB

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