企业端面试管理、录用管理、简历管理 - 需求对齐修改记录
修改日期
2026-06-16
修改说明
按照需求规格说明书,对企业端小程序的简历管理、面试管理、录用管理三个模块进行需求对齐修改。主要解决现有实现与需求文档差异过大的问题。
一、简历管理模块修改
需求文档要求
- 列表展示字段:姓名、年龄、工作经验、学历、工作地点、应聘职位、投递时间、数据状态
- 待查看按钮:筛选通过、筛选不通过
- 邀请面试表单:面试时间、面试方式、面试联系人、面试联系电话(无面试地点)
修改内容
| 修改项 |
修改前 |
修改后 |
原因 |
| 列表字段 |
显示"期望薪资" |
移除"期望薪资" |
需求文档无此字段 |
| 列表字段 |
"岗位名称" |
"应聘职位" |
与需求文档术语一致 |
| 按钮文字 |
"通过"/"不通过" |
"筛选通过"/"筛选不通过" |
与需求文档一致 |
| 邀请面试表单 |
包含"面试地点"字段 |
移除"面试地点"字段 |
需求文档无此字段 |
修改文件
湛就业微信小程序/zjy-wxxcx/src/pages/enterprise/recruitment/index.tsx
二、面试管理模块修改
需求文档要求
- 列表展示字段:姓名、年龄、工作经验、学历、期望薪资、是否参加面试、面试说明、面试评价、应聘职位、面试时间
- Tab结构:待面试、面试通过、面试不通过(含面试待定)
- 待面试按钮:面试通过、面试不通过、面试待定
- 面试不通过时需填写面试说明(失败原因)
- 面试待定:可后续选择通过或不通过
修改内容
| 修改项 |
修改前 |
修改后 |
原因 |
| 列表字段 |
显示"面试方式" |
移除"面试方式" |
需求文档列表字段中无此项 |
| Tab查询 |
面试不通过Tab只查result=2 |
同时查询result=2和result=3 |
需求要求"面试不通过(含面试待定)" |
| 待面试按钮 |
"通过"/"不通过" |
"面试通过"/"面试不通过"/"面试待定" |
与需求文档一致,新增待定功能 |
| 面试不通过操作 |
直接调用接口,无表单 |
弹窗填写面试说明(失败原因) |
需求要求不通过时需填写失败原因 |
| 面试待定功能 |
无 |
新增interviewResult=3,待定记录可在不通过Tab中转为通过/不通过 |
需求文档要求 |
| 面试不通过Tab |
无待定记录操作 |
待定记录显示"面试通过"/"面试不通过"按钮 |
需求要求待定可后续选择 |
新增后端接口
PUT /interviewRecord/pending?id=xxx - 面试待定,设置interviewResult='3'
GET /interviewRecord/enterpriseList - 新增interviewResultIn参数,支持多值查询
修改文件
湛就业微信小程序/zjy-wxxcx/src/pages/enterprise/interview/index.tsx(重写)
湛就业微信小程序/zjy-wxxcx/src/pages/enterprise/interview/index.scss(添加待定按钮和状态标签样式)
湛就业微信小程序/zjy-wxxcx/src/config/cgi.ts(添加pending接口地址)
湛就业微信小程序/zjy-wxxcx/src/utils/api.ts(添加pendingInterview方法)
JeecgBoot-main/.../interview/controller/InterviewRecordController.java(添加pending接口、修改enterpriseList支持多值查询)
JeecgBoot-main/.../interview/entity/InterviewRecord.java(更新interviewResult注释,添加3-面试待定)
三、录用管理模块修改
需求文档要求
- 列表展示字段:姓名、年龄、工作经验、学历、期望薪资、应聘职位、数据状态、录用时间
- Tab结构:待签约、未录入、已签约、已结束(4个Tab,无签订中Tab)
- 待签约页面包含未签约(status=0)和签订中(status=1)的记录
- 待签约按钮:发起签约(仅status=0的记录)
- 未录入/已签约/已结束:仅查看
修改内容
| 修改项 |
修改前 |
修改后 |
原因 |
| Tab结构 |
5个Tab:待签约/签订中/已签约/已结束/未录入 |
4个Tab:待签约/未录入/已签约/已结束 |
需求文档只有4个Tab |
| 待签约Tab |
只显示status=0 |
同时显示status=0和status=1 |
需求要求待签约含签订中 |
| 列表字段 |
显示"工作地点"/"录用薪资"/"预计入职日期" |
移除这三个字段 |
需求文档列表字段中无此项 |
| 列表字段 |
无"录用时间" |
新增"录用时间"(使用createTime) |
需求文档要求 |
| 列表字段 |
"岗位名称" |
"应聘职位" |
与需求文档术语一致 |
| 待签约按钮 |
"推进签约" |
"发起签约" |
与需求文档一致 |
| 签订中记录 |
单独Tab,有"确认签约"按钮 |
在待签约Tab中显示,无按钮,提示"等待求职者确认" |
需求要求签订中等待求职者确认 |
| 已签约记录 |
有"完成"按钮 |
无按钮,仅查看 |
需求要求已签约仅查看 |
新增后端支持
GET /employmentOffer/enterpriseList - 新增statusIn参数,支持多值查询
修改文件
湛就业微信小程序/zjy-wxxcx/src/pages/enterprise/offer/index.tsx(重写)
湛就业微信小程序/zjy-wxxcx/src/pages/enterprise/offer/index.scss(添加签订中提示样式)
JeecgBoot-main/.../offer/controller/EmploymentOfferController.java(修改enterpriseList支持多值查询)
四、字典数据补充
新增SQL迁移文件
V20260616_4__init_interview_dict.sql
字典项变更
| 字典编码 |
变更 |
说明 |
| interview_result |
新增Code=3"面试待定" |
需求文档要求面试待定功能 |
| interview_method |
确保存在 |
现场面试/视频面试/电话面试 |
| attend_status |
确保存在 |
未反馈/参加/不参加 |
五、业务流程对照(修改后)
求职者投递简历 → 企业收到简历(待查看)
→ 筛选通过 → 邀请面试 → 待面试
→ 面试通过 → 录用 → 待签约(未签约)
→ 发起签约 → 签订中(等待求职者确认)
→ 求职者确认 → 已签约 → 已结束
→ 面试不通过(需填写失败原因)
→ 面试待定 → 后续选择通过/不通过
→ 面试通过但不录用 → 未录入
→ 筛选不通过 → 可恢复简历回到待查看
六、深度检查发现的问题及修复
6.1 后端fail接口重复代码
- 问题:InterviewRecordController.fail()方法中,对resultRemark的判空和赋值有重复代码(两个if块做相同判断)
- 修复:合并为一个if块,同时设置interviewComment和resultRemark
6.2 个人端面试邀请"是否参加"未对接后端API
- 问题:个人端my-jobs页面中,面试邀请的"确认参加"/"不参加"按钮只弹出确认弹窗和Toast,未调用后端API更新attendStatus字段
- 修复:
- 后端新增
PUT /interviewRecord/attend?id=xxx 接口(设置attendStatus='1')
- 后端新增
PUT /interviewRecord/notAttend?id=xxx 接口(设置attendStatus='2')
- 前端CGI配置添加attend和notAttend接口地址
- 前端API添加attendInterview和notAttendInterview方法
- 个人端my-jobs页面的handleConfirm方法改为调用真实API
6.3 个人端录用通知/签约页面完全未实现
- 问题:个人端my-jobs页面的"录取记录"Tab(Tab 2)只显示"暂无数据"空状态,完全没有实现
- 修复:
- 添加OfferItem数据结构定义
- 添加fetchOffers方法,调用API.queryMyOffers获取录用通知列表
- 实现renderOffers方法,展示录用通知卡片(录用单位、录用职位、录用薪资、预计入职日期、合同期限、录用时间、备注)
- 待签约/签订中状态显示"确认签约"和"拒绝"按钮,调用API.confirmOffer和API.rejectOffer
- 添加录用状态样式映射(s-signing/s-signed/s-ended)
- Tab切换和下拉刷新支持录用通知Tab
6.4 个人端面试邀请查询条件硬编码
- 问题:fetchInterviews方法中interviewResult硬编码为'0',只能查看待面试状态
- 修复:移除interviewResult参数,查询所有状态的面试邀请
6.5 个人端面试状态映射不完整
- 问题:INTERVIEW_STATUS_CLASS_MAP只有3种状态(0/1/2),缺少面试待定(3)
- 修复:添加面试待定状态映射,interviewResult='3'对应s-pending样式
6.6 个人端面试邀请展示字段优化
- 问题:面试邀请展示字段使用companyName,但后端返回的字段名是enterpriseName
- 修复:InterviewItem接口添加enterpriseName字段,展示使用item.enterpriseName
- 补充:添加attendStatus和interviewComment字段的展示(是否参加、面试说明)
修改文件(深度检查新增)
JeecgBoot-main/.../interview/controller/InterviewRecordController.java(添加attend/notAttend接口、修复fail重复代码)
湛就业微信小程序/zjy-wxxcx/src/config/cgi.ts(添加attend/notAttend接口地址)
湛就业微信小程序/zjy-wxxcx/src/utils/api.ts(添加attendInterview/notAttendInterview方法)
湛就业微信小程序/zjy-wxxcx/src/pages/personal/my-jobs/index.tsx(重写:修复面试邀请API对接、实现录用通知页面)
湛就业微信小程序/zjy-wxxcx/src/pages/personal/my-jobs/index.scss(添加录用状态样式)
七、注意事项
- 面试待定(interviewResult='3')是新增状态值,需确保数据库字典项已添加
- 录用管理的"签订中"状态不再是独立Tab,合并到待签约Tab中展示
- 面试不通过操作现在必须填写面试说明(失败原因),对应后端interviewComment字段
- 后端enterpriseList接口新增interviewResultIn/statusIn参数,兼容原有interviewResult/status参数
- 录用时间使用offer记录的createTime字段