Files
hzdyjs/backend/ruoyi-modules/ruoyi-rs/src/main/resources/mapper/rs/recruitment.sql
T
2025-08-05 12:28:58 +08:00

142 lines
8.4 KiB
SQL

-- 招聘模块表结构
-- 创建于 2025-07-02
-- 职位表
DROP TABLE IF EXISTS `rs_job`;
CREATE TABLE `rs_job` (
`job_id` bigint(20) NOT NULL COMMENT '职位ID',
`title` varchar(100) NOT NULL COMMENT '职位名称',
`department` varchar(50) NOT NULL COMMENT '部门',
`salary_range` varchar(50) DEFAULT NULL COMMENT '薪资范围',
`location` varchar(100) DEFAULT NULL COMMENT '工作地点',
`description` text COMMENT '职位描述',
`requirements` text COMMENT '任职要求',
`is_active` char(1) DEFAULT '0' COMMENT '是否在招(0是 1否)',
`publish_time` datetime DEFAULT NULL COMMENT '发布时间',
`view_count` int(11) DEFAULT '0' COMMENT '浏览次数',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`job_id`),
KEY `idx_department` (`department`),
KEY `idx_is_active` (`is_active`)
) ENGINE=InnoDB COMMENT='招聘职位表';
-- 应聘者表
DROP TABLE IF EXISTS `rs_applicant`;
CREATE TABLE `rs_applicant` (
`applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID',
`user_id` bigint(20) DEFAULT NULL COMMENT '关联用户ID',
`name` varchar(50) NOT NULL COMMENT '姓名',
`phone` varchar(20) NOT NULL COMMENT '手机号码',
`email` varchar(100) NOT NULL COMMENT '电子邮箱',
`resume_file_path` varchar(255) DEFAULT NULL COMMENT '简历文件路径',
`self_intro` text COMMENT '自我介绍',
`current_status` varchar(20) DEFAULT 'active' COMMENT '当前状态(active-可申请 hired-已录用 rejected-已拒绝)',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`applicant_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_phone` (`phone`)
) ENGINE=InnoDB COMMENT='应聘者信息表';
-- 教育经历表
DROP TABLE IF EXISTS `rs_education`;
CREATE TABLE `rs_education` (
`edu_id` bigint(20) NOT NULL COMMENT '教育经历ID',
`applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID',
`school_name` varchar(100) NOT NULL COMMENT '学校名称',
`major` varchar(100) DEFAULT NULL COMMENT '专业',
`degree` varchar(50) DEFAULT NULL COMMENT '学位',
`start_date` date DEFAULT NULL COMMENT '开始日期',
`end_date` date DEFAULT NULL COMMENT '结束日期',
`gpa` varchar(20) DEFAULT NULL COMMENT '绩点',
`description` text COMMENT '描述',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`edu_id`),
KEY `idx_applicant_id` (`applicant_id`)
) ENGINE=InnoDB COMMENT='教育经历表';
-- 工作经历表
DROP TABLE IF EXISTS `rs_work_experience`;
CREATE TABLE `rs_work_experience` (
`exp_id` bigint(20) NOT NULL COMMENT '工作经历ID',
`applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID',
`company_name` varchar(100) NOT NULL COMMENT '公司名称',
`position` varchar(100) NOT NULL COMMENT '职位',
`start_date` date DEFAULT NULL COMMENT '开始日期',
`end_date` date DEFAULT NULL COMMENT '结束日期',
`is_current` char(1) DEFAULT '0' COMMENT '是否当前工作(0是 1否)',
`description` text COMMENT '工作描述',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`exp_id`),
KEY `idx_applicant_id` (`applicant_id`)
) ENGINE=InnoDB COMMENT='工作经历表';
-- 申请记录表
DROP TABLE IF EXISTS `rs_application`;
CREATE TABLE `rs_application` (
`application_id` bigint(20) NOT NULL COMMENT '申请ID',
`job_id` bigint(20) NOT NULL COMMENT '职位ID',
`applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID',
`apply_time` datetime NOT NULL COMMENT '申请时间',
`status` varchar(20) DEFAULT 'pending' COMMENT '状态(pending-待处理 interviewed-已面试 offered-已录用 rejected-已拒绝)',
`hr_notes` text COMMENT 'HR备注',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`application_id`),
KEY `idx_job_id` (`job_id`),
KEY `idx_applicant_id` (`applicant_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='申请记录表';
-- 附件表
DROP TABLE IF EXISTS `rs_attachment`;
CREATE TABLE `rs_attachment` (
`attachment_id` bigint(20) NOT NULL COMMENT '附件ID',
`application_id` bigint(20) NOT NULL COMMENT '申请ID',
`file_name` varchar(100) NOT NULL COMMENT '文件名',
`file_path` varchar(255) NOT NULL COMMENT '文件路径',
`file_type` varchar(50) DEFAULT NULL COMMENT '文件类型',
`file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`attachment_id`),
KEY `idx_application_id` (`application_id`)
) ENGINE=InnoDB COMMENT='申请附件表';
-- 插入初始测试数据
INSERT INTO `rs_job` (`job_id`, `title`, `department`, `salary_range`, `location`, `description`, `requirements`, `is_active`, `create_time`, `create_by`, `update_time`, `update_by`, `remark`, `deleted`, `tenant_id`)
VALUES
(1, '高级Java开发工程师', '教学', '15k-25k', '杭州', '负责校园教学管理系统的开发和维护,参与核心模块设计与实现,优化系统性能,解决技术难题。\n作为团队核心成员,参与技术方案评审,指导初级开发人员,确保项目按时高质量交付。', '计算机相关专业本科及以上学历,3年以上Java开发经验\n精通Java核心技术,熟悉Spring Boot、MyBatis等主流框架\n熟练掌握MySQL数据库设计与优化\n有教育行业相关系统开发经验者优先\n良好的沟通能力和团队协作精神', '0', NOW(), 1, NOW(), 1, '示例职位', '0', '000000'),
(2, '前端工程师', '教学', '12k-18k', '杭州', '负责校园教学管理系统前端开发,使用Vue3+TypeScript技术栈,参与UI设计与实现', '计算机相关专业本科及以上学历,2年以上前端开发经验\n精通HTML5/CSS3/JavaScript,熟悉Vue3/React等主流框架\n熟练使用TypeScript进行开发\n有教育行业相关系统开发经验者优先', '0', NOW(), 1, NOW(), 1, '示例职位', '0', '000000'),
(3, '行政助理', '行政', '5k-8k', '杭州', '协助部门主管处理日常行政事务,包括文件整理、会议安排、接待来访等工作', '大专及以上学历,行政管理相关专业优先\n熟悉办公软件,有较强的文字处理能力\n工作认真负责,有较强的组织协调能力\n有相关工作经验者优先', '0', NOW(), 1, NOW(), 1, '示例职位', '0', '000000');