feat: Implement job fair company registration review workflow

- Added review status fields to the public_job_fair_company table to manage company registration states (pending, approved, rejected).
- Enhanced PublicJobFairServiceImpl to handle company registration, review, and job management for companies.
- Updated PublicJobFairMapper.xml with new SQL queries for managing company relations and reviews.
- Created migration script to add review fields and set default values for existing records.
- Introduced new permissions for company users to manage job postings and registration status.
- Added utility methods for ensuring proper role checks and company retrieval.
This commit is contained in:
2026-07-15 11:34:31 +08:00
parent 8538de3776
commit 5060fb0557
13 changed files with 1091 additions and 36 deletions

View File

@@ -4,7 +4,7 @@
**接口地址:** `POST /app/fair/company/signUp`
**接口说明:** 企业用户报名公共招聘会PublicJobFair同时填写参会岗位信息
**接口说明:** 企业用户报名公共招聘会PublicJobFair同时填写参会岗位信息。报名记录会进入 `0-待审核`,管理员审核通过后企业才可以继续维护报名岗位。
**请求头:**
```
@@ -134,7 +134,7 @@ curl -X POST http://localhost:9091/app/fair/company/signUp \
1. 校验当前用户是否为企业用户is_company_user=0
2. 通过用户的 idCard企业信用代码查询企业信息
3. 检查企业是否已报名该招聘会(查询 public_job_fair_company 表)
4. 创建企业-招聘会关联记录public_job_fair_company 表)
4. 创建企业-招聘会关联记录public_job_fair_company 表),审核状态设为 `0-待审核`
5. 批量插入岗位信息job 表)
6. 创建岗位-招聘会关联记录public_job_fair_job 表)

View File

@@ -308,7 +308,7 @@
### 6. 添加企业到招聘会
- **URL**: `POST /cms/publicJobFair/company`
- **权限**: `cms:publicJobFair:edit`
- **权限**: `cms:publicJobFair:company:add`
- **请求体**:
```json
{
@@ -333,13 +333,14 @@
### 8. 移除招聘会企业
- **URL**: `DELETE /cms/publicJobFair/company/{id}`
- **权限**: `cms:publicJobFair:company:remove`
- **说明**: `id` 为关联表主键
---
### 9. 添加岗位到招聘会
- **URL**: `POST /cms/publicJobFair/job`
- **权限**: `cms:publicJobFair:edit`
- **权限**: `cms:publicJobFair:job:add`
- **说明**: CMS 后台将已有岗位关联到招聘会;该接口不是企业端报名接口。
- **请求体**:
```json
@@ -354,7 +355,7 @@
### 10. 批量添加岗位
- **URL**: `POST /cms/publicJobFair/job/batch`
- **权限**: `cms:publicJobFair:edit`
- **权限**: `cms:publicJobFair:job:add`
- **说明**: CMS 后台批量将已有岗位关联到招聘会;该接口不是企业端报名接口。
- **请求体**:
```json
@@ -368,7 +369,7 @@
### 11. 移除招聘会岗位
- **URL**: `DELETE /cms/publicJobFair/job/{id}`
- **权限**: `cms:publicJobFair:edit`
- **权限**: `cms:publicJobFair:job:remove`
---
@@ -403,6 +404,65 @@
## 企业端报名并添加岗位
CMS 企业角色现在支持分阶段报名:
1. 企业在招聘会列表看到【报名】按钮和报名审核状态;
2. 报名后状态为 `0-待审核`,企业可以查看招聘会详情,但不能维护报名岗位;
3. 管理员审核通过后状态为 `1-通过`,企业列表显示【编辑报名岗位】,可以新增、修改、删除本企业岗位;
4. 驳回状态为 `2-驳回`,列表显示审核意见,并允许企业重新报名。
列表接口在企业角色下会补充以下字段:
| 字段 | 说明 |
|------|------|
| `isSignUp` | 是否已有报名记录,`0` 否,`1` 是 |
| `enterpriseId` | 当前企业 ID |
| `enterpriseReviewStatus` | `0` 待审核、`1` 通过、`2` 驳回 |
| `enterpriseReviewComments` | 管理员审核意见 |
| `canSignUp` | 是否显示报名按钮 |
| `canEditJobs` | 审核通过后是否显示编辑报名岗位 |
### CMS 企业报名
- **URL**: `POST /cms/publicJobFair/{jobFairId}/company/signup`
- **权限**: `cms:publicJobFair:signup`
- **说明**: 只允许企业角色调用,创建或重新提交企业报名记录,状态为 `0` 待审核。
### CMS 企业新增报名岗位
- **URL**: `POST /cms/publicJobFair/{jobFairId}/company/jobs`
- **权限**: `cms:publicJobFair:job:add`
- **请求体**: `Job` 对象,服务端强制使用当前企业 ID。
- **限制**: 当前企业报名审核通过后才允许新增。
### CMS 企业修改报名岗位
- **URL**: `PUT /cms/publicJobFair/{jobFairId}/company/jobs/{jobId}`
- **权限**: `cms:publicJobFair:job:edit`
- **限制**: 只能修改当前企业自己的岗位,且企业报名审核必须通过。
### CMS 企业删除报名岗位
- **URL**: `DELETE /cms/publicJobFair/{jobFairId}/company/jobs/{jobId}`
- **权限**: `cms:publicJobFair:job:remove`
- **限制**: 只能删除当前企业自己的报名岗位,且企业报名审核必须通过;同时移除招聘会岗位关联并逻辑删除岗位。
### 管理员审核参会企业
- **URL**: `PUT /cms/publicJobFair/{jobFairId}/companies/{relationId}/review`
- **权限**: `cms:publicJobFair:review`
- **请求体**:
```json
{
"reviewStatus": "1",
"reviewRemark": ""
}
```
`reviewStatus` 取值:`0` 待审核、`1` 通过、`2` 驳回。驳回时 `reviewRemark` 必填。
管理员详情接口 `GET /cms/publicJobFair/{jobFairId}` 返回企业项的 `canReview``canAddJob``canRemoveCompany`;只有 `reviewStatus=1` 时,`canAddJob``canRemoveCompany``true`。服务端也会再次校验该状态。
企业用户报名公共招聘会并填写参会岗位,使用以下企业端接口,不调用 CMS 的岗位关联接口:
- **URL**: `POST /app/fair/company/signUp`