# 政策信息CMS管理接口文档

## 1. 查询政策列表

**接口地址：** `GET /cms/policyInfo/list`

**权限标识：** `cms:policyInfo:list`

**请求参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| pageNum | Number | 否 | 页码，默认 1 |
| pageSize | Number | 否 | 每页条数，默认 10 |
| searchValue | String | 否 | 政策名称搜索关键词 |

**响应参数：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Number | 状态码，200 表示成功 |
| msg | String | 提示信息 |
| total | Number | 总记录数 |
| rows | Array | 政策列表数据 |

**rows 数组元素字段：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| id | Number | 政策ID |
| zcmc | String | 政策名称 |
| zclx | String | 政策类型 |
| zcLevel | String | 政策级别 |
| sourceUnit | String | 发文单位 |
| acceptUnit | String | 受理单位 |
| publishTime | String | 发文时间 |
| viewNum | Number | 浏览数 |
| createTime | String | 创建时间 |

**响应示例：**

```json
{
  "code": 200,
  "msg": "查询成功",
  "total": 100,
  "rows": [
    {
      "id": 1,
      "zcmc": "就业见习补贴",
      "zclx": "就业政策",
      "zcLevel": "自治区级",
      "sourceUnit": "新疆维吾尔自治区人力资源和社会保障厅",
      "acceptUnit": "石河子市人社局",
      "publishTime": "2021-09-24",
      "viewNum": 1234,
      "createTime": "2025-01-10 10:00:00"
    }
  ]
}
```

---

## 2. 获取政策详情

**接口地址：** `GET /cms/policyInfo/{id}`

**权限标识：** `cms:policyInfo:query`

**请求参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | Number | 是 | 政策ID（路径参数） |

**响应参数：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Number | 状态码，200 表示成功 |
| msg | String | 提示信息 |
| data | Object | 政策详情数据 |

**data 字段：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| id | Number | 政策ID |
| zcmc | String | 政策名称 |
| zclx | String | 政策类型 |
| zcLevel | String | 政策级别 |
| sourceUnit | String | 发文单位 |
| acceptUnit | String | 受理单位 |
| publishTime | String | 发文时间 |
| zcContent | String | 政策内容 |
| subsidyStandard | String | 补贴标准 |
| handleChannel | String | 经办渠道 |
| applyCondition | String | 申报条件 |
| fileUrl | String | 政策文件URL |
| fileName | String | 政策文件名称 |
| viewNum | Number | 浏览数 |
| createBy | String | 创建者 |
| createTime | String | 创建时间 |
| updateBy | String | 更新者 |
| updateTime | String | 更新时间 |
| remark | String | 备注 |

**响应示例：**

```json
{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "zcmc": "就业见习补贴",
    "zclx": "就业政策",
    "zcLevel": "自治区级",
    "sourceUnit": "新疆维吾尔自治区人力资源和社会保障厅",
    "acceptUnit": "石河子市人社局",
    "publishTime": "2021-09-24",
    "zcContent": "支持高校毕业生和失业青年参加就业见习，提升就业能力。",
    "subsidyStandard": "按当地最低工资标准给予见习补贴",
    "handleChannel": "石河子市人力资源和社会保障局就业服务窗口",
    "applyCondition": "人社部门认定的见习单位",
    "fileUrl": "https://example.com/files/policy_001.pdf",
    "fileName": "就业见习补贴政策文件.pdf",
    "viewNum": 1234,
    "createBy": "admin",
    "createTime": "2025-01-10 10:00:00",
    "updateBy": null,
    "updateTime": null,
    "remark": null
  }
}
```

---

## 3. 新增政策

**接口地址：** `POST /cms/policyInfo`

**权限标识：** `cms:policyInfo:add`

**请求参数（Body JSON）：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| zcmc | String | 是 | 政策名称 |
| zclx | String | 否 | 政策类型 |
| zcLevel | String | 否 | 政策级别 |
| sourceUnit | String | 否 | 发文单位 |
| acceptUnit | String | 否 | 受理单位 |
| publishTime | String | 否 | 发文时间（yyyy-MM-dd） |
| zcContent | String | 否 | 政策内容 |
| subsidyStandard | String | 否 | 补贴标准 |
| handleChannel | String | 否 | 经办渠道 |
| applyCondition | String | 否 | 申报条件 |
| fileUrl | String | 否 | 政策文件URL |
| fileName | String | 否 | 政策文件名称 |
| remark | String | 否 | 备注 |

**请求示例：**

```json
{
  "zcmc": "就业见习补贴",
  "zclx": "就业政策",
  "zcLevel": "自治区级",
  "sourceUnit": "新疆维吾尔自治区人力资源和社会保障厅",
  "acceptUnit": "石河子市人社局",
  "publishTime": "2021-09-24",
  "zcContent": "支持高校毕业生和失业青年参加就业见习",
  "subsidyStandard": "按当地最低工资标准给予见习补贴",
  "handleChannel": "石河子市人力资源和社会保障局就业服务窗口",
  "applyCondition": "人社部门认定的见习单位",
  "fileUrl": "https://example.com/files/policy.pdf",
  "fileName": "政策文件.pdf"
}
```

**响应示例：**

```json
{
  "code": 200,
  "msg": "操作成功"
}
```

---

## 4. 修改政策

**接口地址：** `PUT /cms/policyInfo`

**权限标识：** `cms:policyInfo:edit`

**请求参数（Body JSON）：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | Number | 是 | 政策ID |
| zcmc | String | 否 | 政策名称 |
| zclx | String | 否 | 政策类型 |
| zcLevel | String | 否 | 政策级别 |
| sourceUnit | String | 否 | 发文单位 |
| acceptUnit | String | 否 | 受理单位 |
| publishTime | String | 否 | 发文时间（yyyy-MM-dd） |
| zcContent | String | 否 | 政策内容 |
| subsidyStandard | String | 否 | 补贴标准 |
| handleChannel | String | 否 | 经办渠道 |
| applyCondition | String | 否 | 申报条件 |
| fileUrl | String | 否 | 政策文件URL |
| fileName | String | 否 | 政策文件名称 |
| remark | String | 否 | 备注 |

**请求示例：**

```json
{
  "id": 1,
  "zcmc": "就业见习补贴（修订版）",
  "subsidyStandard": "按当地最低工资标准的120%给予见习补贴"
}
```

**响应示例：**

```json
{
  "code": 200,
  "msg": "操作成功"
}
```

---

## 5. 删除政策

**接口地址：** `DELETE /cms/policyInfo/{ids}`

**权限标识：** `cms:policyInfo:remove`

**请求参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| ids | String | 是 | 政策ID，多个用逗号分隔（路径参数） |

**请求示例：**

```
DELETE /cms/policyInfo/1,2,3
```

**响应示例：**

```json
{
  "code": 200,
  "msg": "操作成功"
}
```

**说明：** 删除为逻辑删除，将 del_flag 字段置为 '2'。

---

## 6. 上传政策文件

**接口地址：** `POST /cms/policyInfo/upload`

**权限标识：** `cms:policyInfo:add`

**Content-Type：** `multipart/form-data`

**请求参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| file | File | 是 | 上传的文件 |

**响应参数：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Number | 状态码，200 表示成功 |
| msg | String | 提示信息 |
| data | Object | 文件信息 |

**data 字段：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| fileUrl | String | 文件访问URL（域名/file/+文件路径） |
| fileName | String | 原始文件名 |
| filePath | String | 文件相对路径 |

**响应示例：**

```json
{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "fileUrl": "https://your-domain.com/file/2026/01/11/abc123def456.pdf",
    "fileName": "就业见习补贴政策文件.pdf",
    "filePath": "2026/01/11/abc123def456.pdf"
  }
}
```

**配置说明：**

在 `application.yml` 中配置上传目录和域名：

```yaml
policy:
  upload:
    # 文件上传目录
    path: /data/policy/files
    # 访问域名
    domain: https://your-domain.com
```

**Nginx配置示例：**

```nginx
location /file/ {
    alias /data/policy/files/;
}
```
