继续迁移剩余旧接口到 urbanops-module-garden.md
3.05 KB
迁移计划
范围与目标
- 将旧工程
/old/servicemanager/src/main/java/com/servicemanager/project/下剩余接口完整迁移到urbanops-module-garden,保持原「路径/行为」不变。 - 统一数据表前缀为
garden_,对齐新模块的分层规范(controller/admin|app、service、dal/mysql、dal/dataobject、vo)。
当前进度(已完成且编译通过)
- 树档案与古树:
/business/tree/*、/treerecord/oldtrees/* - 养护计划与提交:
/maintain/plan/*、/app/plan/commit/* - 物料库存/入出库:
/material/inventory/*、/material/in/*、/material/out/* - 热线案件/文件/照片:
/business/hotlinecase/*(含聚合详情/getInfoMore/{id})、/business/file/*、/business/sysphoto/* - PC 问题管理/任务:
/pc/problem/manager/*、/pc/problem/task/* - 部门桥接、基础字典、道路、养护频次、摄像机接口等
待迁移内容
- 绩效系列
/performance/index/listForPage/performance/write/listForPage/performance/experts/listForPage
- 项目与子项目
/project/manager/listForPage/project/manager/selectProjectManagerForList/subProject/manager/listForPage
- 物料管理剩余
/material/manager/*(分页、列表、导出)/materialType/*(大类/中类/分页、导入导出)
技术方案
- 控制层
- 保持旧路径与 HTTP 方法不变;后台接口放
controller/admin/*,App 接口放controller/app/*。 - 权限注解对齐(
@PreAuthorize),沿用旧权限字符串或等价替换。
- 保持旧路径与 HTTP 方法不变;后台接口放
- 服务层
- 迁移旧的业务服务方法,保持参数/校验/业务流程;使用新模块工具集(分页
PageParam/PageResult、统一响应CommonResult)。
- 迁移旧的业务服务方法,保持参数/校验/业务流程;使用新模块工具集(分页
- 数据访问层
- Mapper 改造为
BaseMapperX + LambdaQueryWrapperX,SQL 条件与排序对齐旧逻辑。 - DataObject 使用
@TableName("garden_*")对齐重命名后的表。
- Mapper 改造为
- VO/DTO
- 保持旧的入参/出参结构;命名与包路径迁移至新模块相应
vo目录。
- 保持旧的入参/出参结构;命名与包路径迁移至新模块相应
数据表映射
- 旧表
td_*/t_*→ 新表garden_*(如td_project_manager→garden_project_manager,td_performance_index→garden_performance_index,td_material_type→garden_material_type等)。 - 统一使用新模块审计字段(creator/updater、createTime/updateTime)与部门/公司维度(
SecurityFrameworkUtils)。
验证与交付
- 每批迁移完成后:
- 运行
mvn -q -DskipTests -U -pl urbanops-module-garden -am compile验证编译。 - 提供可访问端点清单与关键入参示例。
- 对导出接口进行本地验证(返回 XLS)。
- 运行
风险与处理
- 依赖缓存损坏(如 kotlin 相关):遇到后强制更新或清理缓存后重试编译。
- 权限字符串不一致:若旧权限在新模块中无对应,按域统一到
garden:*:*规范并在说明中列出调整。
需要确认
- 绩效/项目/物料三组是否作为本次优先批次全部迁移?
- 若有其他域需优先(例如 App 端补充查询或导入),请指出以便先行安排。