Blame view

.trae/documents/继续迁移剩余旧接口到 urbanops-module-garden.md 3.05 KB
6098d61b   戈灵虎   迁移
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  # 迁移计划
  
  ## 范围与目标
  - 将旧工程 `/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`),沿用旧权限字符串或等价替换。
  - 服务层
    - 迁移旧的业务服务方法,保持参数/校验/业务流程;使用新模块工具集(分页 `PageParam/PageResult`、统一响应 `CommonResult`)。
  - 数据访问层
    - Mapper 改造为 `BaseMapperX + LambdaQueryWrapperX`,SQL 条件与排序对齐旧逻辑。
    - DataObject 使用 `@TableName("garden_*")` 对齐重命名后的表。
  - 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 端补充查询或导入),请指出以便先行安排。