3.8 KiB
3.8 KiB
制度公告搜索接口实现指南
接口定义
请求接口
GET /api/regulation
Content-Type: application/json
请求参数
{
"page": number, // 页码(可选,默认1)
"size": number, // 每页大小(可选,默认10)
"status": "string", // 状态筛选(精确匹配,固定为"PUBLISHED")
"title": "string", // 制度标题(模糊搜索,可选)
"proposer": "string", // 公示人(模糊搜索,可选)
"confirmStatus": "string" // 确认状态(精确匹配,可选)
}
响应格式
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"regulationId": "string",
"title": "string",
"content": "string",
"regulationType": "string",
"status": "string",
"publishTime": "string",
"effectiveTime": "string",
"expireTime": "string",
"scope": "string",
"level": "string",
"version": "string",
"remark": "string",
"createBy": "string",
"updateBy": "string",
"createTime": "string",
"updateTime": "string",
"delFlag": "string",
"confirmStatus": "string"
}
],
"total": number, // 总记录数
"current": number, // 当前页码
"size": number, // 每页大小
"pages": number // 总页数
}
}
后端实现说明
后端已实现以下接口:
@ApiOperation(value = "获取制度列表", httpMethod = "GET")
@GetMapping
public Result getRegulationList(
@RequestParam(defaultValue = "1") int page,
@RequestParam(defaultValue = "10") int size,
@RequestParam(required = false) String status,
@RequestParam(required = false) String type,
@RequestParam(required = false) String title,
@RequestParam(required = false) String proposer,
@RequestParam(required = false) String confirmStatus
) {
return regulationService.getRegulationList(page, size, status, type, title, proposer, confirmStatus);
}
前端集成说明
前端已完成以下功能:
- ✅ 删除前端搜索逻辑(防抖、实时搜索等)
- ✅ 调整为GET请求接口
- ✅ 参数名匹配后端接口(createByName → proposer)
- ✅ 简化搜索表单,只支持手动搜索
- ✅ 移除前端过滤逻辑,由后端处理状态筛选
- ✅ 保持原有功能不受影响
搜索流程
- 用户在搜索表单中输入条件
- 点击"搜索"按钮触发搜索
- 调用后端GET接口
/api/regulation
- 后端返回搜索结果(已过滤为PUBLISHED状态的制度)
- 前端展示搜索结果
参数说明
- page: 页码,默认1
- size: 每页大小,默认10
- status: 状态筛选,固定为"PUBLISHED"(已公告状态)
- title: 制度标题,支持模糊搜索
- proposer: 公示人,支持模糊搜索
- confirmStatus: 确认状态,精确匹配(如:confirmed、pending)
搜索功能特性
- 模糊搜索:title 和 proposer 字段支持模糊匹配
- 精确筛选:confirmStatus 字段精确匹配
- 分页查询:支持分页和排序
- 状态过滤:后端自动过滤为PUBLISHED状态的制度
- 性能优化:使用数据库索引提升查询性能
业务逻辑说明
制度公告页面专门用于展示已经公告的制度,因此:
- 后端需要自动过滤为
status = 'PUBLISHED'
的制度 - 支持按确认状态(confirmStatus)进行筛选
- 前端不再需要手动过滤,完全依赖后端处理
- 用户可以查看制度详情、下载PDF文件、确认知晓制度
确认状态说明
- confirmed: 已确认 - 用户已确认知晓并遵守该制度
- pending: 待确认 - 用户尚未确认知晓该制度
- 空值: 全部 - 显示所有确认状态的制度