20260616-企业端三模块需求对齐修改记录.md 9.8 KB

企业端面试管理、录用管理、简历管理 - 需求对齐修改记录

修改日期

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(添加录用状态样式)

七、注意事项

  1. 面试待定(interviewResult='3')是新增状态值,需确保数据库字典项已添加
  2. 录用管理的"签订中"状态不再是独立Tab,合并到待签约Tab中展示
  3. 面试不通过操作现在必须填写面试说明(失败原因),对应后端interviewComment字段
  4. 后端enterpriseList接口新增interviewResultIn/statusIn参数,兼容原有interviewResult/status参数
  5. 录用时间使用offer记录的createTime字段