Files
shz-backend/docs/cms-public-job-fair-api.md

412 lines
20 KiB
Markdown
Raw Normal View History

2026-01-11 02:15:16 +08:00
# CMS 公共招聘会管理接口文档
## 基础路径
`/cms/publicJobFair`
---
## 界面功能操作指南
### 页面一:招聘会列表页
```
┌─────────────────────────────────────────────────────────────────┐
│ 公共招聘会管理 │
├─────────────────────────────────────────────────────────────────┤
│ 招聘会标题: [________] 类型: [全部▼] [搜索] [重置] [+新增] │
├─────────────────────────────────────────────────────────────────┤
│ □ | 标题 | 地址 | 类型 | 开始时间 | 操作 │
│ ───────────────────────────────────────────────────────────── │
│ □ | 春风行动招聘会 | 人力市场 | 线下 | 2026-01-20 | 编辑 删除 │
│ □ | 高校毕业生专场 | 线上 | 线上 | 2026-02-15 | 编辑 删除 │
├─────────────────────────────────────────────────────────────────┤
│ 共 2 条 < 1 >
└─────────────────────────────────────────────────────────────────┘
```
| 操作 | 触发方式 | 调用接口 |
|------|---------|---------|
| 搜索 | 点击【搜索】按钮 | `GET /list` |
| 重置 | 点击【重置】按钮 | 清空条件后调用 `GET /list` |
| 新增 | 点击【+新增】按钮 | 打开新增弹窗 |
| 编辑 | 点击行内【编辑】 | `GET /{id}` 获取详情后打开编辑弹窗 |
| 删除 | 点击行内【删除】 | 确认后调用 `DELETE /{ids}` |
| 批量删除 | 勾选多行后点击【删除】 | `DELETE /{ids}` (逗号分隔) |
---
### 页面二:新增/编辑招聘会弹窗
```
┌─────────────────────────────────────────────────────────────────┐
│ 新增招聘会 [×] │
├─────────────────────────────────────────────────────────────────┤
│ 招聘会标题*: [________________________________] │
│ 招聘会地址*: [________________________________] │
│ 招聘会类型*: ○线上 ●线下 │
│ 开始时间*: [2026-01-20 09:00:00 📅] │
│ 结束时间*: [2026-01-20 17:00:00 📅] │
│ 报名开始时间: [2026-01-10 00:00:00 📅] │
│ 报名结束时间: [2026-01-19 23:59:59 📅] │
│ 主办单位: [________________________________] │
│ 协办单位: [________________________________] │
│ 承办单位: [________________________________] │
│ 联系电话: [________________] │
│ 招聘会简介: [________________________________] │
│ [________________________________] │
│ │
│ 地图选点: [点击选择位置 🗺️] │
│ ┌─────────────────────────────────────────┐ │
│ │ │ │
│ │ 高德地图选点组件 │ │
│ │ 📍 │ │
│ │ │ │
│ └─────────────────────────────────────────┘ │
│ 经度: [86.0419 ] 纬度: [44.3066 ] │
├─────────────────────────────────────────────────────────────────┤
│ [取消] [确定] │
└─────────────────────────────────────────────────────────────────┘
```
| 操作 | 触发方式 | 调用接口 |
|------|---------|---------|
| 地图选点 | 点击地图或搜索地址 | 高德地图API自动填充经纬度 |
| 确定(新增) | 填写表单后点击【确定】 | `POST /` |
| 确定(编辑) | 修改表单后点击【确定】 | `PUT /` |
| 取消 | 点击【取消】或【×】 | 关闭弹窗 |
---
### 页面三:招聘会详情页(含企业岗位管理)
```
┌─────────────────────────────────────────────────────────────────┐
│ 招聘会详情: 春风行动专场招聘会 [返回列表] │
├─────────────────────────────────────────────────────────────────┤
│ 基本信息 │
│ ───────────────────────────────────────────────────────────── │
│ 标题: 春风行动专场招聘会 类型: 线下 │
│ 地址: 石河子市人力资源市场 电话: 0993-2012345 │
│ 时间: 2026-01-20 09:00 ~ 17:00 │
│ 报名时间: 2026-01-10 ~ 2026-01-19 │
├─────────────────────────────────────────────────────────────────┤
│ 参会企业及岗位 [+添加企业] │
│ ───────────────────────────────────────────────────────────── │
│ ▼ 新疆某某科技有限公司 (互联网/100-499人) [移除企业] │
│ ├─ Java开发工程师 | 8K-15K | 本科 | 招2人 [+添加岗位] [移除]│
│ └─ 前端开发工程师 | 7K-12K | 大专 | 招3人 [移除]│
│ ▼ 石河子农业发展有限公司 (农业/50-99人) [移除企业] │
│ └─ 农业技术员 | 5K-8K | 大专 | 招5人 [移除]│
├─────────────────────────────────────────────────────────────────┤
│ 报名人员 [查看全部报名] │
│ ───────────────────────────────────────────────────────────── │
│ 张三 | 13800138000 | 2026-01-15 10:30 | 已报名 │
│ 李四 | 13900139000 | 2026-01-16 14:20 | 已报名 │
└─────────────────────────────────────────────────────────────────┘
```
| 操作 | 触发方式 | 调用接口 |
|------|---------|---------|
| 进入详情 | 列表页点击【编辑】或行 | `GET /{jobFairId}` |
| 添加企业 | 点击【+添加企业】 | 打开企业选择弹窗 |
| 移除企业 | 点击企业行【移除企业】 | `DELETE /company/{id}` |
| 添加岗位 | 点击企业下【+添加岗位】 | 打开岗位选择弹窗 |
| 移除岗位 | 点击岗位行【移除】 | `DELETE /job/{id}` |
| 查看全部报名 | 点击【查看全部报名】 | 跳转报名列表页 |
---
### 页面四:添加企业弹窗
```
┌─────────────────────────────────────────────────────────────────┐
│ 选择企业 [×] │
├─────────────────────────────────────────────────────────────────┤
│ 企业名称: [________] [搜索] │
├─────────────────────────────────────────────────────────────────┤
│ □ | 企业名称 | 行业 | 规模 | 类型 │
│ ───────────────────────────────────────────────────────────── │
│ ☑ | 新疆某某科技有限公司 | 互联网 | 100-499人 | 民营 │
│ ☑ | 石河子农业发展有限公司 | 农业 | 50-99人 | 国企 │
│ □ | 某某建筑工程公司 | 建筑 | 500-999人 | 民营 │
├─────────────────────────────────────────────────────────────────┤
│ [取消] [确定添加] │
└─────────────────────────────────────────────────────────────────┘
```
| 操作 | 触发方式 | 调用接口 |
|------|---------|---------|
| 搜索企业 | 输入名称点击【搜索】 | 调用企业列表接口 |
| 确定添加(单个) | 勾选1个企业点击【确定添加】 | `POST /company` |
| 确定添加(多个) | 勾选多个企业点击【确定添加】 | `POST /company/batch` |
---
### 页面五:添加岗位弹窗
```
┌─────────────────────────────────────────────────────────────────┐
│ 选择岗位 - 新疆某某科技有限公司 [×] │
├─────────────────────────────────────────────────────────────────┤
│ 岗位名称: [________] [搜索] │
├─────────────────────────────────────────────────────────────────┤
│ □ | 岗位名称 | 薪资 | 学历 | 经验 | 招聘人数 │
│ ───────────────────────────────────────────────────────────── │
│ ☑ | Java开发工程师 | 8K-15K | 本科 | 3-5年 | 2人 │
│ ☑ | 前端开发工程师 | 7K-12K | 大专 | 1-3年 | 3人 │
│ □ | 产品经理 | 10K-20K | 本科 | 5年以上| 1人 │
├─────────────────────────────────────────────────────────────────┤
│ [取消] [确定添加] │
└─────────────────────────────────────────────────────────────────┘
```
| 操作 | 触发方式 | 调用接口 |
|------|---------|---------|
| 搜索岗位 | 输入名称点击【搜索】 | 调用该企业岗位列表接口 |
| 确定添加(单个) | 勾选1个岗位点击【确定添加】 | `POST /job` |
| 确定添加(多个) | 勾选多个岗位点击【确定添加】 | `POST /job/batch` |
---
### 页面六:报名人员列表页
```
┌─────────────────────────────────────────────────────────────────┐
│ 报名人员 - 春风行动专场招聘会 [返回详情] │
├─────────────────────────────────────────────────────────────────┤
│ 用户名: [________] 状态: [全部▼] [搜索] [重置] [导出] │
├─────────────────────────────────────────────────────────────────┤
│ 用户名 | 姓名 | 手机号 | 报名时间 | 状态 │
│ ───────────────────────────────────────────────────────────── │
│ zhangsan | 张三 | 13800138000 | 2026-01-15 10:30:00 | 已报名 │
│ lisi | 李四 | 13900139000 | 2026-01-16 14:20:00 | 已报名 │
│ wangwu | 王五 | 13700137000 | 2026-01-17 09:15:00 | 已取消 │
├─────────────────────────────────────────────────────────────────┤
│ 共 3 条 < 1 >
└─────────────────────────────────────────────────────────────────┘
```
| 操作 | 触发方式 | 调用接口 |
|------|---------|---------|
| 搜索 | 点击【搜索】按钮 | `GET /signups/{jobFairId}` |
| 重置 | 点击【重置】按钮 | 清空条件后调用 `GET /signups/{jobFairId}` |
| 导出 | 点击【导出】按钮 | 可扩展导出接口 |
---
## 接口详情
### 1. 查询招聘会列表
- **URL**: `GET /cms/publicJobFair/list`
- **权限**: `cms:publicJobFair:list`
- **请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageNum | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| jobFairTitle | String | 否 | 招聘会标题(模糊查询) |
| jobFairType | String | 否 | 招聘会类型1-线上 2-线下) |
- **响应示例**:
```json
{
"code": 200,
"rows": [{
"jobFairId": "1",
"jobFairTitle": "2026年春风行动专场招聘会",
"jobFairAddress": "石河子市人力资源市场",
"jobFairType": "2",
"jobFairStartTime": "2026-01-20 10:00:00",
"jobFairEndTime": "2026-01-20 16:00:00",
"enterpriseNum": "3",
"boothNum": "10"
}],
"total": 1
}
```
---
### 2. 获取招聘会详情(含企业及岗位)
- **URL**: `GET /cms/publicJobFair/{jobFairId}`
- **权限**: `cms:publicJobFair:query`
- **响应示例**:
```json
{
"code": 200,
"data": {
"jobFairId": "1",
"jobFairTitle": "2026年春风行动专场招聘会",
"jobFairAddress": "石河子市人力资源市场",
"jobFairType": "2",
"jobFairStartTime": "2026-01-20 10:00:00",
"jobFairEndTime": "2026-01-20 16:00:00",
"jobFairHostUnit": "石河子市人社局",
"jobFairIntroduction": "招聘会简介...",
"latitude": 44.3066,
"longitude": 86.0419,
"companyList": [{
"id": "company-relation-id",
"companyId": 100,
"companyName": "新疆某某科技有限公司",
"scale": "100-499人",
"industry": "互联网/IT",
"companyType": "民营企业",
"jobInfoList": [{
"jobId": 200,
"jobTitle": "Java开发工程师",
"minSalary": 8000,
"maxSalary": 15000,
"education": "本科",
"experience": "3-5年",
"vacancies": 2
}]
}]
}
}
```
---
### 3. 新增招聘会
- **URL**: `POST /cms/publicJobFair`
- **权限**: `cms:publicJobFair:add`
- **请求体**:
```json
{
"jobFairTitle": "招聘会标题",
"jobFairAddress": "招聘会地址",
"jobFairType": "2",
"jobFairStartTime": "2026-02-01 09:00:00",
"jobFairEndTime": "2026-02-01 17:00:00",
"jobFairHostUnit": "主办单位",
"jobFairIntroduction": "招聘会简介",
"jobFairPhone": "联系电话",
"jobFairSignUpStartTime": "2026-01-20 00:00:00",
"jobFairSignUpEndTime": "2026-01-31 23:59:59",
"latitude": 44.3066,
"longitude": 86.0419
}
```
---
### 4. 修改招聘会
- **URL**: `PUT /cms/publicJobFair`
- **权限**: `cms:publicJobFair:edit`
- **请求体**: 同新增,需包含 `jobFairId`
---
### 5. 删除招聘会
- **URL**: `DELETE /cms/publicJobFair/{jobFairIds}`
- **权限**: `cms:publicJobFair:remove`
- **说明**: 支持批量删除多个ID用逗号分隔
---
### 6. 添加企业到招聘会
- **URL**: `POST /cms/publicJobFair/company`
- **权限**: `cms:publicJobFair:edit`
- **请求体**:
```json
{
"jobFairId": "1",
"companyId": 100
}
```
---
### 7. 批量添加企业
- **URL**: `POST /cms/publicJobFair/company/batch`
- **请求体**:
```json
[
{"jobFairId": "1", "companyId": 100},
{"jobFairId": "1", "companyId": 101}
]
```
---
### 8. 移除招聘会企业
- **URL**: `DELETE /cms/publicJobFair/company/{id}`
- **说明**: `id` 为关联表主键
---
### 9. 添加岗位到招聘会
- **URL**: `POST /cms/publicJobFair/job`
- **请求体**:
```json
{
"jobFairId": "1",
"jobId": 200,
"companyId": 100
}
```
---
### 10. 批量添加岗位
- **URL**: `POST /cms/publicJobFair/job/batch`
- **请求体**:
```json
[
{"jobFairId": "1", "jobId": 200, "companyId": 100},
{"jobFairId": "1", "jobId": 201, "companyId": 100}
]
```
---
### 11. 移除招聘会岗位
- **URL**: `DELETE /cms/publicJobFair/job/{id}`
---
### 12. 查询招聘会报名列表
- **URL**: `GET /cms/publicJobFair/signups/{jobFairId}`
- **权限**: `cms:publicJobFair:query`
- **响应示例**:
```json
{
"code": 200,
"rows": [{
"id": 1,
"jobFairId": 1,
"userId": 1,
"userName": "zhangsan",
"realName": "张三",
"phone": "13800138000",
"signUpTime": "2026-01-15 10:30:00",
"status": "0"
}],
"total": 1
}
```
---
### 13. 查询招聘会企业及岗位
- **URL**: `GET /cms/publicJobFair/companies/{jobFairId}`
- **权限**: `cms:publicJobFair:query`
---
## 数据字典
### 招聘会类型 (jobFairType)
| 值 | 说明 |
|---|------|
| 1 | 线上招聘会 |
| 2 | 线下招聘会 |
### 报名状态 (status)
| 值 | 说明 |
|---|------|
| 0 | 已报名 |
| 1 | 已取消 |