260603-公益性岗位管理与岗位推荐模块开发记录.md 6.7 KB

公益性岗位管理与岗位推荐模块开发记录

开发日期

2026-06-03

模块概述

本次开发实现了"公益性岗位管理"和"岗位推荐"两个模块的完整后端+前端代码,严格参考 FocusPersonnel 模块的代码模式。


模块1:公益性岗位管理(WelfarePost)

数据库表:WELFARE_POST

字段 说明
ID 主键
ENTERPRISE_ID 用人单位ID
COMPANY_NAME 用人单位名称
POST_NAME 岗位名称
POST_TYPE 岗位类型(社区服务/城市管理/公共管理/后勤服务)
WORK_LOCATION 工作地点
DETAILED_ADDRESS 详细地址
RECRUIT_COUNT 招聘人数
PLACED_COUNT 已安置人数
SUBSIDY_STANDARD 补贴标准
SUBSIDY_PERIOD 补贴期限
SOCIAL_SECURITY_SUBSIDY 社保补贴
POST_DESC 岗位描述
POST_REQUIREMENT 岗位要求
APPLY_METHOD 报名方式(网上报名/现场报名)
APPLY_DEADLINE 报名截止日期
PUBLISH_STATUS 发布状态(0未发布/1已发布)
POST_STATUS 岗位状态(招聘中/已满/已关闭)
PUBLISHER 发布人
PUBLISH_ORG 发布机构
PUBLISH_TIME 发布时间

后端文件

文件 路径
WelfarePost.java org.jeecg.modules.zjrs.welfarepost.entity.WelfarePost
WelfarePostMapper.java org.jeecg.modules.zjrs.welfarepost.mapper.WelfarePostMapper
WelfarePostMapper.xml org.jeecg.modules.zjrs.welfarepost.mapper.xml.WelfarePostMapper
IWelfarePostService.java org.jeecg.modules.zjrs.welfarepost.service.IWelfarePostService
WelfarePostServiceImpl.java org.jeecg.modules.zjrs.welfarepost.service.impl.WelfarePostServiceImpl
WelfarePostController.java org.jeecg.modules.zjrs.welfarepost.controller.WelfarePostController

后端实现说明

  • 实体类使用 @TableName("welfare_post"),主键使用 @TableId(type = IdType.ASSIGN_ID)
  • Controller 继承 JeecgController,/list 接口使用 QueryGenerator 自动构建查询条件(标准CRUD模式)
  • 权限前缀:welfare_post
  • Mapper XML 仅基础配置,不需要自定义SQL

前端文件

文件 路径
WelfarePost.api.ts views/welfarepost/WelfarePost.api.ts
WelfarePost.data.ts views/welfarepost/WelfarePost.data.ts
WelfarePostList.vue views/welfarepost/WelfarePostList.vue
WelfarePostForm.vue views/welfarepost/components/WelfarePostForm.vue
WelfarePostModal.vue views/welfarepost/components/WelfarePostModal.vue

前端实现说明

  • 列表字段:用人单位名称、岗位名称、岗位类型、工作地点、招聘人数、已安置人数、补贴标准、发布状态、岗位状态
  • 查询字段:用人单位名称(输入框)、岗位名称(输入框)、岗位类型(下拉框)、发布状态(下拉框)、岗位状态(下拉框)
  • 表单分两个卡片区域:卡片1-用人单位信息、卡片2-岗位信息
  • 下拉框使用 a-select 硬编码选项

Flyway菜单SQL

  • 文件:V20260603_7__menu_insert_WelfarePost.sql
  • 一级菜单ID:178060100000040
  • 二级菜单ID:178060100000041
  • 按钮权限ID:1780601000000411 ~ 1780601000000416
  • 角色授权ID:1780601000000417 ~ 1780601000000424

模块2:岗位推荐(JobRecommend)

数据库表:JOB_RECOMMEND

字段 说明
ID 主键
PERSONAL_ID 关联个人信息ID
POST_ID 关联岗位ID
RECOMMEND_TYPE 推荐类型(岗位推荐到人/人推荐到岗位)
RECOMMEND_OPINION 推荐意见
RECOMMEND_STATUS 推荐状态(待查看/已查看/已接受/已拒绝)

视图:v_job_recommend_list

关联 personal_info、post_info 和 enterprise_info 表,提供列表展示所需的关联字段。

后端文件

文件 路径
JobRecommend.java org.jeecg.modules.zjrs.jobrecommend.entity.JobRecommend
JobRecommendPageVo.java org.jeecg.modules.zjrs.jobrecommend.entity.JobRecommendPageVo
JobRecommendMapper.java org.jeecg.modules.zjrs.jobrecommend.mapper.JobRecommendMapper
JobRecommendMapper.xml org.jeecg.modules.zjrs.jobrecommend.mapper.xml.JobRecommendMapper
IJobRecommendService.java org.jeecg.modules.zjrs.jobrecommend.service.IJobRecommendService
JobRecommendServiceImpl.java org.jeecg.modules.zjrs.jobrecommend.service.impl.JobRecommendServiceImpl
JobRecommendController.java org.jeecg.modules.zjrs.jobrecommend.controller.JobRecommendController

后端实现说明

  • 实体类使用 @TableName("job_recommend"),只包含表自身字段
  • PageVo 映射视图字段,包含:id, personalId, postId, recommendType, recommendOpinion, recommendStatus, fullName, gender, contactPhone, education, postName, workLocation, companyName
  • Mapper 添加 queryPageList 方法,从视图 v_job_recommend_list 查询
  • Controller /list 接口使用 queryPageList(参考 FocusPersonnelController 模式)
  • 权限前缀:job_recommend

前端文件

文件 路径
JobRecommend.api.ts views/jobrecommend/JobRecommend.api.ts
JobRecommend.data.ts views/jobrecommend/JobRecommend.data.ts
JobRecommendList.vue views/jobrecommend/JobRecommendList.vue
JobRecommendForm.vue views/jobrecommend/components/JobRecommendForm.vue
JobRecommendModal.vue views/jobrecommend/components/JobRecommendModal.vue

前端实现说明

  • 列表字段:姓名、性别、联系电话、学历、岗位名称、工作地点、单位名称、推荐类型、推荐状态、推荐意见
  • 查询字段:姓名(输入框)、推荐类型(下拉框)、推荐状态(下拉框)、岗位名称(输入框)、单位名称(输入框)
  • 表单字段:关联个人信息(personalId)、关联岗位(postId)、推荐类型(下拉框)、推荐意见(文本域)、推荐状态(下拉框)
  • 下拉框使用 a-select 硬编码选项

Flyway菜单SQL

  • 文件:V20260603_8__menu_insert_JobRecommend.sql
  • 一级菜单ID:178060100000050
  • 二级菜单ID:178060100000051
  • 按钮权限ID:1780601000000511 ~ 1780601000000516
  • 角色授权ID:1780601000000517 ~ 1780601000000524

注意事项

  1. 所有Java注释使用中文
  2. Flyway SQL不使用反引号(达梦数据库兼容)
  3. 实体类使用 @TableId(type = IdType.ASSIGN_ID)
  4. Controller 继承 JeecgController
  5. 不使用视图的模块(公益性岗位),/list接口使用标准QueryGenerator模式
  6. 使用视图的模块(岗位推荐),/list接口参考FocusPersonnelController的queryPageList模式
  7. 前端表单下拉框使用 a-select 硬编码选项
  8. Flyway SQL中INSERT语句每行一个,不多行VALUES
  9. 岗位推荐模块依赖视图 v_job_recommend_list,需先执行视图创建SQL