## 现状排查结论 - `material/out/listForPage`:已迁移并存在,路径不变(POST)。位置:`controller/admin/material/MaterialOutController.java:39` - 费用类接口已迁移到 garden 模块,但基础路径统一为 `garden/*`,查询接口统一使用 `GET /page`: - 旧 `/costfee/departmentcost/list` → 新 `GET /garden/department-cost/page`(部门费用)位置:`controller/admin/departmentcost/DepartmentCostController.java:83` - 旧 `/costfee/mechanicalcost/list` → 新 `GET /garden/mechanical-cost/page`(自有机械费用)位置:`controller/admin/mechanicalcost/MechanicalCostController.java:107` - 旧 `/costfee/rentalmechanicalcost/list` → 新 `GET /garden/rental-mechanical-cost/page`(租赁机械费用)位置:`controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java:99` - 旧 `/costfee/gardenwasterecord/list` → 新 `GET /garden/waste-record/page`(园林废弃物)位置:`controller/admin/wasterecord/WasteRecordController.java:83` - 系统用户分页:旧 `/system/user/listForPage` 不存在;新为 `GET /system/user/page`,位置:`urbanops-module-system/controller/admin/user/UserController.java:99` ## 目标 - 在不改动前端的情况下,兼容旧路径:为上述旧路径添加桥接(alias)接口,委托到现有服务或新路径,实现等价分页/列表能力。 ## 实施方案 1. 新增桥接控制器(不改现有业务控制器): - `controller/admin/costfee/DepartmentCostBridgeController`:`@RequestMapping("/costfee/departmentcost")` - `@GetMapping("/list")` → 适配分页 VO,内部调用 `departmentCostService.getDepartmentCostPage(...)` - `controller/admin/costfee/MechanicalCostBridgeController`:`@RequestMapping("/costfee/mechanicalcost")` - `@GetMapping("/list")` → 委托 `mechanicalCostService.getMechanicalCostPage(...)` - `controller/admin/costfee/RentalMechanicalCostBridgeController`:`@RequestMapping("/costfee/rentalmechanicalcost")` - `@GetMapping("/list")` → 委托 `rentalMechanicalCostService.getRentalMechanicalCostPage(...)` - `controller/admin/costfee/GardenWasteRecordBridgeController`:`@RequestMapping("/costfee/gardenwasterecord")` - `@GetMapping("/list")` → 委托 `wasteRecordService.getWasteRecordPage(...)` 2. 系统用户桥接: - 在 `urbanops-module-system` 新增 `controller/admin/user/UserBridgeController`:`@RequestMapping("/system/user")` - `@PostMapping("/listForPage")` → 将请求体(或表单)转换为 `UserPageReqVO`,委托 `AdminUserService.getUserPage(...)` 返回分页。 3. 统一返回结构: - 所有桥接接口返回 `CommonResult>`,与现有新接口保持一致;如旧前端要求表格结构,按需封装字段但不改核心分页数据。 4. 权限与审计: - 复用现有权限标识:`@PreAuthorize` 与对应 `garden:*` 或 `system:*` 权限,不新增冗余权限点。 5. 兼容性细节: - 旧接口使用 `list` 命名且可能 GET;桥接按旧签名支持 GET 并允许 query 传参;必要时支持 POST(根据旧前端调用方式)。 - 字段名差异通过桥接层 VO 做轻量映射(如旧字段为 `pageNum/pageSize`)。 ## 测试与验证 - 为每个桥接接口补充最小的集成测试:校验分页入参映射、权限与返回数据结构。 - 本地编译与启动后,用现有新接口的数据源验证桥接输出一致性。 ## 变更范围控制 - 不改现有业务控制器和服务实现;新增仅限桥接控制器与必要的请求 VO(轻量)。 - 不改数据库结构与 Mapper。 请确认以上桥接方案;确认后我将按上述路径添加兼容接口并进行编译与验证。