# 制度公示搜索接口实现指南 ## 接口定义 ### 请求接口 ``` GET /api/regulation Content-Type: application/json ``` ### 请求参数 ```json { "page": number, // 页码(可选,默认1) "size": number, // 每页大小(可选,默认10) "status": "string", // 状态筛选(精确匹配,可选) "type": "string", // 提案类型(精确匹配,可选) "title": "string", // 提案标题(模糊搜索,可选) "proposer": "string" // 提案人(模糊搜索,可选) } ``` ### 响应格式 ```json { "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 // 总页数 } } ``` ## 后端实现说明 后端已实现以下接口: ```java @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 ) { return regulationService.getRegulationList(page, size, status, type, title, proposer); } ``` ## 前端集成说明 前端已完成以下功能: 1. ✅ 删除前端搜索逻辑(防抖、实时搜索等) 2. ✅ 调整为GET请求接口 3. ✅ 参数名匹配后端接口(createByName → proposer, regulationType → type) 4. ✅ 简化搜索表单,只支持手动搜索 5. ✅ 移除前端过滤逻辑,由后端处理状态筛选 6. ✅ 保持原有功能不受影响 ## 搜索流程 1. 用户在搜索表单中输入条件 2. 点击"搜索"按钮触发搜索 3. 调用后端GET接口 `/api/regulation` 4. 后端返回搜索结果(已过滤掉草稿状态的提案) 5. 前端展示搜索结果 ## 参数说明 - **page**: 页码,默认1 - **size**: 每页大小,默认10 - **status**: 状态筛选,精确匹配(如:PUBLISHED、APPROVED等) - **type**: 提案类型,精确匹配(如:管理规范、操作流程、安全制度、其他) - **title**: 提案标题,支持模糊搜索 - **proposer**: 提案人,支持模糊搜索 ## 搜索功能特性 - **模糊搜索**:title 和 proposer 字段支持模糊匹配 - **精确筛选**:type 和 status 字段精确匹配 - **分页查询**:支持分页和排序 - **状态过滤**:后端自动过滤掉草稿状态的提案,只显示已公示及以上的提案 - **性能优化**:使用数据库索引提升查询性能 ## 业务逻辑说明 制度公示页面专门用于展示已经公示或已通过的制度提案,因此: - 后端需要自动过滤掉 `status = 'DRAFT'` 的提案 - 只返回 `status = 'PUBLISHED'` 或 `status = 'APPROVED'` 的提案 - 前端不再需要手动过滤,完全依赖后端处理