政策相关
This commit is contained in:
153
docs/app-policy-info-api.md
Normal file
153
docs/app-policy-info-api.md
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
# 政策信息移动端接口文档
|
||||||
|
|
||||||
|
## 1. 获取政策列表
|
||||||
|
|
||||||
|
**接口地址:** `GET /app/policyInfo/portalList`
|
||||||
|
|
||||||
|
**请求参数:**
|
||||||
|
|
||||||
|
| 参数名 | 类型 | 必填 | 说明 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 获取政策详情
|
||||||
|
|
||||||
|
**接口地址:** `GET /app/policyInfo/detail/{id}`
|
||||||
|
|
||||||
|
**请求参数:**
|
||||||
|
|
||||||
|
| 参数名 | 类型 | 必填 | 说明 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| 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 | 浏览数 |
|
||||||
|
| createTime | String | 创建时间 |
|
||||||
|
|
||||||
|
**响应示例:**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 200,
|
||||||
|
"msg": "操作成功",
|
||||||
|
"data": {
|
||||||
|
"id": 1,
|
||||||
|
"zcmc": "就业见习补贴",
|
||||||
|
"zclx": "就业政策",
|
||||||
|
"zcLevel": "自治区级",
|
||||||
|
"sourceUnit": "新疆维吾尔自治区人力资源和社会保障厅",
|
||||||
|
"acceptUnit": "石河子市人社局",
|
||||||
|
"publishTime": "2021-09-24",
|
||||||
|
"zcContent": "支持高校毕业生和失业青年参加就业见习,提升就业能力。",
|
||||||
|
"subsidyStandard": "按当地最低工资标准给予见习补贴,见习单位按不低于当地最低工资标准的50%为见习人员发放岗位补助。",
|
||||||
|
"handleChannel": "石河子市人力资源和社会保障局就业服务窗口",
|
||||||
|
"applyCondition": "人社部门认定的见习单位,吸纳离校2年内未就业高校毕业生和16-24岁新疆籍失业青年参加就业见习。",
|
||||||
|
"fileUrl": "https://example.com/files/policy_001.pdf",
|
||||||
|
"fileName": "就业见习补贴政策文件.pdf",
|
||||||
|
"viewNum": 1234,
|
||||||
|
"createTime": "2025-01-10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 浏览数加1
|
||||||
|
|
||||||
|
**接口地址:** `POST /app/policyInfo/addViewNum/{id}`
|
||||||
|
|
||||||
|
**请求参数:**
|
||||||
|
|
||||||
|
| 参数名 | 类型 | 必填 | 说明 |
|
||||||
|
|--------|------|------|------|
|
||||||
|
| id | Number | 是 | 政策ID(路径参数) |
|
||||||
|
|
||||||
|
**响应参数:**
|
||||||
|
|
||||||
|
| 参数名 | 类型 | 说明 |
|
||||||
|
|--------|------|------|
|
||||||
|
| code | Number | 状态码,200 表示成功 |
|
||||||
|
| msg | String | 提示信息 |
|
||||||
|
|
||||||
|
**响应示例:**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 200,
|
||||||
|
"msg": "操作成功"
|
||||||
|
}
|
||||||
|
```
|
||||||
335
docs/cms-policy-info-api.md
Normal file
335
docs/cms-policy-info-api.md
Normal file
@@ -0,0 +1,335 @@
|
|||||||
|
# 政策信息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/;
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -140,6 +140,14 @@ mybatis-plus:
|
|||||||
file:
|
file:
|
||||||
upload-dir: /data/file
|
upload-dir: /data/file
|
||||||
|
|
||||||
|
# 政策文件上传配置
|
||||||
|
policy:
|
||||||
|
upload:
|
||||||
|
# 文件上传目录
|
||||||
|
path: /data/policy/files
|
||||||
|
# 访问域名(nginx配置的域名)
|
||||||
|
domain: https://your-domain.com
|
||||||
|
|
||||||
#微信小程序
|
#微信小程序
|
||||||
wx:
|
wx:
|
||||||
appid: wx99193c507b93d6db
|
appid: wx99193c507b93d6db
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.ruoyi.cms.controller.app;
|
||||||
|
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfo;
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfoQuery;
|
||||||
|
import com.ruoyi.cms.service.policy.IPolicyInfoService;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息移动端Controller
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/policyInfo")
|
||||||
|
@Api(tags = "移动端接口:政策信息")
|
||||||
|
public class AppPolicyInfoController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPolicyInfoService policyInfoService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取政策列表
|
||||||
|
*/
|
||||||
|
@ApiOperation("获取政策列表")
|
||||||
|
@GetMapping("/portalList")
|
||||||
|
public TableDataInfo portalList(PolicyInfoQuery query) {
|
||||||
|
return policyInfoService.getPortalList(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取政策详情
|
||||||
|
*/
|
||||||
|
@ApiOperation("获取政策详情")
|
||||||
|
@GetMapping("/detail/{id}")
|
||||||
|
public AjaxResult detail(@ApiParam("政策ID") @PathVariable Long id) {
|
||||||
|
PolicyInfo policyInfo = policyInfoService.getDetail(id);
|
||||||
|
return success(policyInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 浏览数加1
|
||||||
|
*/
|
||||||
|
@ApiOperation("浏览数加1")
|
||||||
|
@PostMapping("/addViewNum/{id}")
|
||||||
|
public AjaxResult addViewNum(@ApiParam("政策ID") @PathVariable Long id) {
|
||||||
|
return toAjax(policyInfoService.addViewNum(id));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
package com.ruoyi.cms.controller.cms;
|
||||||
|
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfo;
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfoQuery;
|
||||||
|
import com.ruoyi.cms.service.policy.IPolicyInfoService;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.utils.uuid.IdUtils;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息CMS管理Controller
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cms/policyInfo")
|
||||||
|
@Api(tags = "CMS:政策信息管理")
|
||||||
|
public class CmsPolicyInfoController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPolicyInfoService policyInfoService;
|
||||||
|
|
||||||
|
@Value("${policy.upload.path:/data/policy/files}")
|
||||||
|
private String uploadPath;
|
||||||
|
|
||||||
|
@Value("${policy.upload.domain:}")
|
||||||
|
private String uploadDomain;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询政策列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('cms:policyInfo:list')")
|
||||||
|
@ApiOperation("查询政策列表")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(PolicyInfoQuery query) {
|
||||||
|
startPage();
|
||||||
|
return getDataTable(policyInfoService.selectList(query));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取政策详情
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('cms:policyInfo:query')")
|
||||||
|
@ApiOperation("获取政策详情")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public AjaxResult getInfo(@PathVariable Long id) {
|
||||||
|
return success(policyInfoService.selectById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增政策
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('cms:policyInfo:add')")
|
||||||
|
@Log(title = "政策信息", businessType = BusinessType.INSERT)
|
||||||
|
@ApiOperation("新增政策")
|
||||||
|
@PostMapping
|
||||||
|
public AjaxResult add(@RequestBody PolicyInfo policyInfo) {
|
||||||
|
return toAjax(policyInfoService.insert(policyInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改政策
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('cms:policyInfo:edit')")
|
||||||
|
@Log(title = "政策信息", businessType = BusinessType.UPDATE)
|
||||||
|
@ApiOperation("修改政策")
|
||||||
|
@PutMapping
|
||||||
|
public AjaxResult edit(@RequestBody PolicyInfo policyInfo) {
|
||||||
|
return toAjax(policyInfoService.update(policyInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除政策
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('cms:policyInfo:remove')")
|
||||||
|
@Log(title = "政策信息", businessType = BusinessType.DELETE)
|
||||||
|
@ApiOperation("删除政策")
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||||
|
return toAjax(policyInfoService.deleteByIds(ids));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传政策文件
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('cms:policyInfo:add')")
|
||||||
|
@Log(title = "政策文件上传", businessType = BusinessType.OTHER)
|
||||||
|
@ApiOperation("上传政策文件")
|
||||||
|
@PostMapping("/upload")
|
||||||
|
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file) {
|
||||||
|
if (file.isEmpty()) {
|
||||||
|
return error("上传文件不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 获取原始文件名
|
||||||
|
String originalFilename = file.getOriginalFilename();
|
||||||
|
// 获取文件后缀
|
||||||
|
String suffix = "";
|
||||||
|
if (originalFilename != null && originalFilename.contains(".")) {
|
||||||
|
suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成新文件名:日期目录 + UUID + 后缀
|
||||||
|
String dateDir = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
|
||||||
|
String newFileName = IdUtils.fastSimpleUUID() + suffix;
|
||||||
|
|
||||||
|
// 创建目录
|
||||||
|
File destDir = new File(uploadPath + File.separator + dateDir);
|
||||||
|
if (!destDir.exists()) {
|
||||||
|
destDir.mkdirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存文件
|
||||||
|
String filePath = dateDir + "/" + newFileName;
|
||||||
|
File destFile = new File(uploadPath + File.separator + dateDir + File.separator + newFileName);
|
||||||
|
file.transferTo(destFile);
|
||||||
|
|
||||||
|
// 构建返回URL
|
||||||
|
String fileUrl = uploadDomain + "/file/" + filePath;
|
||||||
|
|
||||||
|
Map<String, String> result = new HashMap<>();
|
||||||
|
result.put("fileUrl", fileUrl);
|
||||||
|
result.put("fileName", originalFilename);
|
||||||
|
result.put("filePath", filePath);
|
||||||
|
|
||||||
|
return success(result);
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("文件上传失败", e);
|
||||||
|
return error("文件上传失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package com.ruoyi.cms.domain.policy;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息对象
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ApiModel("政策信息")
|
||||||
|
public class PolicyInfo extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策名称")
|
||||||
|
private String zcmc;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策类型")
|
||||||
|
private String zclx;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策级别")
|
||||||
|
private String zcLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("发文单位")
|
||||||
|
private String sourceUnit;
|
||||||
|
|
||||||
|
@ApiModelProperty("受理单位")
|
||||||
|
private String acceptUnit;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty("发文时间")
|
||||||
|
private Date publishTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策内容")
|
||||||
|
private String zcContent;
|
||||||
|
|
||||||
|
@ApiModelProperty("补贴标准")
|
||||||
|
private String subsidyStandard;
|
||||||
|
|
||||||
|
@ApiModelProperty("经办渠道")
|
||||||
|
private String handleChannel;
|
||||||
|
|
||||||
|
@ApiModelProperty("申报条件")
|
||||||
|
private String applyCondition;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策文件URL")
|
||||||
|
private String fileUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策文件名称")
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
@ApiModelProperty("浏览数")
|
||||||
|
private Integer viewNum;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.ruoyi.cms.domain.policy;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息查询参数
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel("政策信息查询参数")
|
||||||
|
public class PolicyInfoQuery {
|
||||||
|
|
||||||
|
@ApiModelProperty("页码")
|
||||||
|
private Integer pageNum = 1;
|
||||||
|
|
||||||
|
@ApiModelProperty("每页条数")
|
||||||
|
private Integer pageSize = 10;
|
||||||
|
|
||||||
|
@ApiModelProperty("政策名称搜索关键词")
|
||||||
|
private String searchValue;
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.ruoyi.cms.mapper.policy;
|
||||||
|
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfo;
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfoQuery;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息Mapper接口
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
public interface PolicyInfoMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询政策列表
|
||||||
|
*/
|
||||||
|
List<PolicyInfo> selectPolicyInfoList(@Param("query") PolicyInfoQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID查询政策详情
|
||||||
|
*/
|
||||||
|
PolicyInfo selectPolicyInfoById(@Param("id") Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新浏览数
|
||||||
|
*/
|
||||||
|
int updateViewNum(@Param("id") Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增政策
|
||||||
|
*/
|
||||||
|
int insertPolicyInfo(PolicyInfo policyInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改政策
|
||||||
|
*/
|
||||||
|
int updatePolicyInfo(PolicyInfo policyInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除政策
|
||||||
|
*/
|
||||||
|
int deletePolicyInfoByIds(@Param("ids") Long[] ids);
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.ruoyi.cms.service.policy;
|
||||||
|
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfo;
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfoQuery;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息Service接口
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
public interface IPolicyInfoService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询政策列表(门户端)
|
||||||
|
*/
|
||||||
|
TableDataInfo getPortalList(PolicyInfoQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取政策详情
|
||||||
|
*/
|
||||||
|
PolicyInfo getDetail(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 浏览数加1
|
||||||
|
*/
|
||||||
|
int addViewNum(Long id);
|
||||||
|
|
||||||
|
// ========== CMS后台管理接口 ==========
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询政策列表
|
||||||
|
*/
|
||||||
|
List<PolicyInfo> selectList(PolicyInfoQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID查询政策
|
||||||
|
*/
|
||||||
|
PolicyInfo selectById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增政策
|
||||||
|
*/
|
||||||
|
int insert(PolicyInfo policyInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改政策
|
||||||
|
*/
|
||||||
|
int update(PolicyInfo policyInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除政策
|
||||||
|
*/
|
||||||
|
int deleteByIds(Long[] ids);
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
package com.ruoyi.cms.service.policy.impl;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfo;
|
||||||
|
import com.ruoyi.cms.domain.policy.PolicyInfoQuery;
|
||||||
|
import com.ruoyi.cms.mapper.policy.PolicyInfoMapper;
|
||||||
|
import com.ruoyi.cms.service.policy.IPolicyInfoService;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 政策信息Service实现
|
||||||
|
* @author kiro
|
||||||
|
* @date 2026-01-11
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class PolicyInfoServiceImpl implements IPolicyInfoService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PolicyInfoMapper policyInfoMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo getPortalList(PolicyInfoQuery query) {
|
||||||
|
PageHelper.startPage(query.getPageNum(), query.getPageSize());
|
||||||
|
List<PolicyInfo> list = policyInfoMapper.selectPolicyInfoList(query);
|
||||||
|
PageInfo<PolicyInfo> pageInfo = new PageInfo<>(list);
|
||||||
|
|
||||||
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
|
rspData.setCode(200);
|
||||||
|
rspData.setMsg("操作成功");
|
||||||
|
rspData.setRows(list);
|
||||||
|
rspData.setTotal(pageInfo.getTotal());
|
||||||
|
return rspData;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PolicyInfo getDetail(Long id) {
|
||||||
|
return policyInfoMapper.selectPolicyInfoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int addViewNum(Long id) {
|
||||||
|
return policyInfoMapper.updateViewNum(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ========== CMS后台管理接口实现 ==========
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PolicyInfo> selectList(PolicyInfoQuery query) {
|
||||||
|
return policyInfoMapper.selectPolicyInfoList(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PolicyInfo selectById(Long id) {
|
||||||
|
return policyInfoMapper.selectPolicyInfoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insert(PolicyInfo policyInfo) {
|
||||||
|
policyInfo.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
policyInfo.setCreateTime(String.valueOf(new Date()));
|
||||||
|
if (policyInfo.getViewNum() == null) {
|
||||||
|
policyInfo.setViewNum(0);
|
||||||
|
}
|
||||||
|
return policyInfoMapper.insertPolicyInfo(policyInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int update(PolicyInfo policyInfo) {
|
||||||
|
policyInfo.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
policyInfo.setUpdateTime(String.valueOf(new Date()));
|
||||||
|
return policyInfoMapper.updatePolicyInfo(policyInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int deleteByIds(Long[] ids) {
|
||||||
|
return policyInfoMapper.deletePolicyInfoByIds(ids);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.cms.mapper.policy.PolicyInfoMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.ruoyi.cms.domain.policy.PolicyInfo" id="PolicyInfoResult">
|
||||||
|
<result property="id" column="id"/>
|
||||||
|
<result property="zcmc" column="zcmc"/>
|
||||||
|
<result property="zclx" column="zclx"/>
|
||||||
|
<result property="zcLevel" column="zc_level"/>
|
||||||
|
<result property="sourceUnit" column="source_unit"/>
|
||||||
|
<result property="acceptUnit" column="accept_unit"/>
|
||||||
|
<result property="publishTime" column="publish_time"/>
|
||||||
|
<result property="zcContent" column="zc_content"/>
|
||||||
|
<result property="subsidyStandard" column="subsidy_standard"/>
|
||||||
|
<result property="handleChannel" column="handle_channel"/>
|
||||||
|
<result property="applyCondition" column="apply_condition"/>
|
||||||
|
<result property="fileUrl" column="file_url"/>
|
||||||
|
<result property="fileName" column="file_name"/>
|
||||||
|
<result property="viewNum" column="view_num"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectPolicyInfoListVo">
|
||||||
|
select id, zcmc, zclx, zc_level, source_unit, accept_unit, publish_time, view_num, create_time
|
||||||
|
from policy_info
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<sql id="selectPolicyInfoDetailVo">
|
||||||
|
select id, zcmc, zclx, zc_level, source_unit, accept_unit, publish_time,
|
||||||
|
zc_content, subsidy_standard, handle_channel, apply_condition,
|
||||||
|
file_url, file_name, view_num, create_by, create_time, update_by, update_time, remark
|
||||||
|
from policy_info
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectPolicyInfoList" resultMap="PolicyInfoResult">
|
||||||
|
<include refid="selectPolicyInfoListVo"/>
|
||||||
|
<where>
|
||||||
|
del_flag = '0'
|
||||||
|
<if test="query.searchValue != null and query.searchValue != ''">
|
||||||
|
and zcmc like concat('%', #{query.searchValue}, '%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by publish_time desc, create_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectPolicyInfoById" resultMap="PolicyInfoResult">
|
||||||
|
<include refid="selectPolicyInfoDetailVo"/>
|
||||||
|
where id = #{id} and del_flag = '0'
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="updateViewNum">
|
||||||
|
update policy_info set view_num = view_num + 1 where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<insert id="insertPolicyInfo" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into policy_info (
|
||||||
|
zcmc, zclx, zc_level, source_unit, accept_unit, publish_time,
|
||||||
|
zc_content, subsidy_standard, handle_channel, apply_condition,
|
||||||
|
file_url, file_name, view_num, create_by, create_time, del_flag, remark
|
||||||
|
) values (
|
||||||
|
#{zcmc}, #{zclx}, #{zcLevel}, #{sourceUnit}, #{acceptUnit}, #{publishTime},
|
||||||
|
#{zcContent}, #{subsidyStandard}, #{handleChannel}, #{applyCondition},
|
||||||
|
#{fileUrl}, #{fileName}, #{viewNum}, #{createBy}, now(), '0', #{remark}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updatePolicyInfo">
|
||||||
|
update policy_info
|
||||||
|
<set>
|
||||||
|
<if test="zcmc != null">zcmc = #{zcmc},</if>
|
||||||
|
<if test="zclx != null">zclx = #{zclx},</if>
|
||||||
|
<if test="zcLevel != null">zc_level = #{zcLevel},</if>
|
||||||
|
<if test="sourceUnit != null">source_unit = #{sourceUnit},</if>
|
||||||
|
<if test="acceptUnit != null">accept_unit = #{acceptUnit},</if>
|
||||||
|
<if test="publishTime != null">publish_time = #{publishTime},</if>
|
||||||
|
<if test="zcContent != null">zc_content = #{zcContent},</if>
|
||||||
|
<if test="subsidyStandard != null">subsidy_standard = #{subsidyStandard},</if>
|
||||||
|
<if test="handleChannel != null">handle_channel = #{handleChannel},</if>
|
||||||
|
<if test="applyCondition != null">apply_condition = #{applyCondition},</if>
|
||||||
|
<if test="fileUrl != null">file_url = #{fileUrl},</if>
|
||||||
|
<if test="fileName != null">file_name = #{fileName},</if>
|
||||||
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
update_by = #{updateBy},
|
||||||
|
update_time = now()
|
||||||
|
</set>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="deletePolicyInfoByIds">
|
||||||
|
update policy_info set del_flag = '2'
|
||||||
|
where id in
|
||||||
|
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -119,6 +119,8 @@ public class SecurityConfig
|
|||||||
// 移动端公用查询,可匿名访问
|
// 移动端公用查询,可匿名访问
|
||||||
.antMatchers("/app/common/**").permitAll()
|
.antMatchers("/app/common/**").permitAll()
|
||||||
.antMatchers("/app/**").permitAll()
|
.antMatchers("/app/**").permitAll()
|
||||||
|
// 门户端公开接口,可匿名访问
|
||||||
|
.antMatchers("/portal/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||||
//放行前端界面
|
//放行前端界面
|
||||||
.antMatchers("/kashi/job-portal/detail/**").permitAll()
|
.antMatchers("/kashi/job-portal/detail/**").permitAll()
|
||||||
|
|||||||
53
sql/policy_info.sql
Normal file
53
sql/policy_info.sql
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
-- 政策信息表(瀚高/PostgreSQL)
|
||||||
|
CREATE TABLE policy_info (
|
||||||
|
id BIGSERIAL PRIMARY KEY,
|
||||||
|
zcmc VARCHAR(500) NOT NULL,
|
||||||
|
zclx VARCHAR(100),
|
||||||
|
zc_level VARCHAR(50),
|
||||||
|
source_unit VARCHAR(200),
|
||||||
|
accept_unit VARCHAR(200),
|
||||||
|
publish_time TIMESTAMP,
|
||||||
|
zc_content TEXT,
|
||||||
|
subsidy_standard TEXT,
|
||||||
|
handle_channel TEXT,
|
||||||
|
apply_condition TEXT,
|
||||||
|
file_url VARCHAR(500),
|
||||||
|
file_name VARCHAR(200),
|
||||||
|
view_num INT DEFAULT 0,
|
||||||
|
create_by VARCHAR(64) DEFAULT '',
|
||||||
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_by VARCHAR(64) DEFAULT '',
|
||||||
|
update_time TIMESTAMP,
|
||||||
|
del_flag CHAR(1) DEFAULT '0',
|
||||||
|
remark VARCHAR(500) DEFAULT ''
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 表注释
|
||||||
|
COMMENT ON TABLE policy_info IS '政策信息表';
|
||||||
|
|
||||||
|
-- 字段注释
|
||||||
|
COMMENT ON COLUMN policy_info.id IS '政策ID';
|
||||||
|
COMMENT ON COLUMN policy_info.zcmc IS '政策名称';
|
||||||
|
COMMENT ON COLUMN policy_info.zclx IS '政策类型';
|
||||||
|
COMMENT ON COLUMN policy_info.zc_level IS '政策级别';
|
||||||
|
COMMENT ON COLUMN policy_info.source_unit IS '发文单位';
|
||||||
|
COMMENT ON COLUMN policy_info.accept_unit IS '受理单位';
|
||||||
|
COMMENT ON COLUMN policy_info.publish_time IS '发文时间';
|
||||||
|
COMMENT ON COLUMN policy_info.zc_content IS '政策内容';
|
||||||
|
COMMENT ON COLUMN policy_info.subsidy_standard IS '补贴标准';
|
||||||
|
COMMENT ON COLUMN policy_info.handle_channel IS '经办渠道';
|
||||||
|
COMMENT ON COLUMN policy_info.apply_condition IS '申报条件';
|
||||||
|
COMMENT ON COLUMN policy_info.file_url IS '政策文件URL';
|
||||||
|
COMMENT ON COLUMN policy_info.file_name IS '政策文件名称';
|
||||||
|
COMMENT ON COLUMN policy_info.view_num IS '浏览数';
|
||||||
|
COMMENT ON COLUMN policy_info.create_by IS '创建者';
|
||||||
|
COMMENT ON COLUMN policy_info.create_time IS '创建时间';
|
||||||
|
COMMENT ON COLUMN policy_info.update_by IS '更新者';
|
||||||
|
COMMENT ON COLUMN policy_info.update_time IS '更新时间';
|
||||||
|
COMMENT ON COLUMN policy_info.del_flag IS '删除标志(0代表存在 2代表删除)';
|
||||||
|
COMMENT ON COLUMN policy_info.remark IS '备注';
|
||||||
|
|
||||||
|
-- 创建索引
|
||||||
|
CREATE INDEX idx_policy_info_zcmc ON policy_info(zcmc);
|
||||||
|
CREATE INDEX idx_policy_info_zclx ON policy_info(zclx);
|
||||||
|
CREATE INDEX idx_policy_info_del_flag ON policy_info(del_flag);
|
||||||
15
sql/policy_info_data.sql
Normal file
15
sql/policy_info_data.sql
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
-- 政策信息测试数据(石河子)
|
||||||
|
INSERT INTO policy_info (zcmc, zclx, zc_level, source_unit, zc_content, view_num, create_by, create_time, del_flag) VALUES
|
||||||
|
('石河子市高层次人才引进政策', '人才政策', '市级', '石河子市人力资源和社会保障局', '为吸引高层次人才来石河子发展,对符合条件的人才给予安家费、住房补贴、生活补贴等优惠政策。', 1234, 'admin', '2025-01-10 10:00:00', '0');
|
||||||
|
|
||||||
|
INSERT INTO policy_info (zcmc, zclx, zc_level, source_unit, zc_content, view_num, create_by, create_time, del_flag) VALUES
|
||||||
|
('新疆生产建设兵团创业扶持政策', '创业政策', '兵团级', '新疆生产建设兵团人力资源和社会保障局', '对符合条件的创业者提供创业担保贷款、创业补贴、场地租金减免等扶持措施,支持兵团职工自主创业。', 856, 'admin', '2025-01-08 14:30:00', '0');
|
||||||
|
|
||||||
|
INSERT INTO policy_info (zcmc, zclx, zc_level, source_unit, zc_content, view_num, create_by, create_time, del_flag) VALUES
|
||||||
|
('石河子大学毕业生就业补贴政策', '就业政策', '市级', '石河子市就业服务中心', '对石河子大学应届毕业生到本地中小微企业就业的,给予一次性就业补贴和社保补贴,鼓励毕业生留疆就业。', 2156, 'admin', '2025-01-05 09:15:00', '0');
|
||||||
|
|
||||||
|
INSERT INTO policy_info (zcmc, zclx, zc_level, source_unit, zc_content, view_num, create_by, create_time, del_flag) VALUES
|
||||||
|
('第八师石河子市技能人才培养激励政策', '培训政策', '师市级', '第八师石河子市人社局', '鼓励企业开展职业技能培训,对取得职业资格证书的人员给予培训补贴和技能提升补贴,助力兵团技能人才队伍建设。', 3421, 'admin', '2025-01-03 16:45:00', '0');
|
||||||
|
|
||||||
|
INSERT INTO policy_info (zcmc, zclx, zc_level, source_unit, zc_content, view_num, create_by, create_time, del_flag) VALUES
|
||||||
|
('石河子市灵活就业人员社保补贴政策', '社保政策', '市级', '石河子市社会保险事业中心', '对就业困难人员和离校2年内未就业高校毕业生灵活就业后缴纳社会保险费的,给予社保补贴,减轻灵活就业人员负担。', 1678, 'admin', '2025-01-01 11:20:00', '0');
|
||||||
Reference in New Issue
Block a user