Repository navigation
TA Recruitment System v4.0
新增功能一:学生个人中心 + 简历上传
Model 层:Student 新增了 studentNumber、major、grade、skillTags、cvFilePath 字段
UI 层:StudentDashboardPanel 增加了:
个人资料表单(姓名、学号、专业、年级、技能标签)
PDF 简历选择和上传按钮
技能匹配提示(申请岗位时显示缺少哪些技能)
Service 层:StudentService 增加了:
saveProfile() — 新建或更新学生资料
getMissingSkills() — 计算学生缺哪些技能
nextStudentId() — 自动生成 S001、S002 格式的学号
学号唯一性校验
新增功能二:MO 发布岗位 + 管理员审核
Model 层:Job 重新设计,新增了:
@RequiredSkills List // 岗位要求技能
@publisherid String // 发布者ID
@ReviewStatus ReviewStatus // 待审核/已通过/已拒绝
Service 层:JobService 增加了:
岗位新增时必须携带技能列表
findByPublisherId() — 按发布者查岗位
findOpenJobs() — 只查已发布的岗位(用于学生端展示)
UI 层:AdminReviewPanel 从 272 行扩到 459 行,增加了完整的审核面板:
待审核岗位列表
查看详情(岗位要求、发布者信息)
通过 / 拒绝操作
新增功能三:申请流程 + 审批
Model 层:新增 Application、ApplicationStatus(Pending / Reviewed / Rejected)
Service 层:ApplicationService 从 100 行扩到 200 行,增加了:
学生提交申请(自动过滤已申请、缺少技能的岗位)
管理员审批(通过/拒绝申请)
防止重复申请校验
申请数量统计
新增功能四:输入校验层
新增两个 Validator:
StudentValidator — 校验姓名非空、学号格式、技能标签列表
JobValidator — 校验标题非空、技能列表非空
所有 Service 方法在处理数据前都会先调校验,校验不通过抛 ValidationException
新增功能五:AI智能匹配模块
新增了11个文件,修改了6个文件,具体如下:
AI功能(6个新文件):
AiMatchingService.java,核心AI匹配服务,根据技能相似度给申请者和岗位打分排名
SkillNormalizer.java ,技能同义词归一化,比如MySQL和SQL视为等价
WorkloadService.java , 工作量监控和均衡,统计每个TA的周工作时间,超载预警
AiController.java,控制器,给UI层调用AI功能的接口
MatchResult.java ,匹配结果模型,含分数+可解释说明
WorkloadReport.java,工作量报告模型
新增功能六:
ui升级,包括web端与swing端;
工作内容可删改,优化填写需求的功能逻辑;
将测试的标准数据添加到data文件夹,方便直接调用;
将report,use's manual,以及readme文件导入,方便使用;
整体优化了上述功能。