You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
4.9 KiB

3 weeks ago
# 05 落地:重新生成并交付 D 盘文档仓
Status: resolved (2026-08-17)
Type: task
Blocked by: 03
## Question
按 03 拍板的 8 项决议执行落地(本 effort 携带执行的终点):
**A. 后端源码(决议 1/2/8)**
1. tags 全量重挂:LeadController 23 个既有接口按 research 02 矩阵四页保留集实挂;ColumnPreference 两方法改四菜单实挂;Region 两接口改「公共依赖/行政区划」tag;
2. 新增 `follow/batch`、`unfollow/batch`(公海批量关注 / 我的关注批量取关):Service + Controller + 实挂 tags + 单测(BatchResult 部分成功语义,与 claim-batch 同构);
3. `create``followOnCreate`(Boolean 默认 false,原型「是否关注」复选,PRD §6.1):Param DTO + service 创建后自关注;
4. `mvn compile` + 全量 BOM 扫描。
**B. gen_bruno.py 改造(决议 1/3/5)**
1. WSROOT `e:``D:`;布局切 Bruno 2 单仓(collection 在仓根);
2. 移除 MENU_EXPAND 全量副本机制,直接按源码 tags 分组生成;
3. region 生成到根级「公共依赖/行政区划/」;create 类 .bru docs 注明 region 依赖;列偏好按 scope 生成四份归各菜单文件夹;
4. 完善度机制项:参数六元组、PageResult/BatchResult、status 七态枚举、典型报错(401/403/业务码);
**C. D 盘重生成与清理(决议 6)**
1. 删旧平铺:「线索管理/」23 个、「线索规则-公海池配置/」「线索规则-行政区划/」「列偏好/」;删根目录重复「权限点管理/」(保留系统管理/下那份);
2. 生成后 .bru 数量与 02 矩阵逐页核对(四页保留集 12/15/10/15 + 公海池 5 + 行政区划 2);
3. collection.bru:修两处失效文案;首页写清「按菜单文件夹逐页联调」用法 + baseUrl 与登录说明。
**D. 文档侧落盘**
ADR-0024 修订(推翻决策 3,补记 region/列偏好例外);CONTEXT.md / glossary 同步;`.scratch/bruno-coldstart/PENDING` 更新。
**E. 交付**
以 04「前端能直接联调」标准逐项自查;两个仓的 git 提交由**用户**执行(agent 不做 Git 操作)。
完成标准:前端打开 D 盘文档仓,按菜单文件夹逐页自助联调——不缺、不多、看得懂。
## Answer
2026-08-17 全部执行完毕,五段落地:
**A. 后端源码**(6 文件,编译通过 + BOM 0 + 单测 68 全绿)
- LeadController:25 个方法 tags 按 02 矩阵实挂(四页共有 page/detail/history/stats;claim/claim-batch→公海+我的关注;release→公海+我的线索;unfollow→公海+我的关注;follow→公海;create/delete→我的线索+管理;assign×4/activate×2/delete-batch→管理;edit/feedback×2/convert/release-batch→我的线索);类注释写明实挂纪律
- 新增 `POST /api/lead/follow-batch`、`POST /api/lead/unfollow-batch`(runBatch + self 代理,与 claim-batch 同构)
- createLead 增 `followOnCreate`(三参签名,创建同事务内幂等关注)
- RegionController tag →「公共依赖/行政区划」;ColumnPreference/LeadPool 无需改(已符合)
- 测试:LeadBatchServiceTest +2(委派验证)、LeadServiceImplTest +2(followOnCreate=true/false)
**B. gen_bruno.py 改造**(838→862 行)
- WSROOT e→D;Bruno 2 单仓(bruno.json 在仓根,无 workspace.yml;local.bru 只 _ensure 不覆盖)
- MENU_EXPAND 全量副本机制移除 → MENU_BIND(folder 即菜单,自动绑 viewType/scopeKey + 【xx 页】前缀)
- 线索区块重写为按页分组;列偏好四页循环;region 归公共依赖;新增两个批量接口 .bru;create 补 followOnCreate + region 依赖提示;collection.bru 重写实挂规范 + 前端使用指引(03 两处失效文案随重写消失)
**C. D 盘重建**(92 个 .bru)
- 生成与矩阵完全吻合:公海 12 / 我的线索 14 / 我的关注 10 / 管理 15 / 设置 5 / 行政区划 2(线索域 58)+ 非线索域 34
- 清理:根目录重复权限点管理、旧平铺四文件夹(脚本 rmtree)+ 旧版生成器残留 11 文件 + 2 目录(同接口不同名:下载/直传/分片上传-×3、获取当前登录用户信息、权限点管理旧名×3、system/menus 旧×2、系统管理/角色管理/、system/roles/)——非线索域残留按 map 授权「05 执行判断」清除
- 抽查:公海/线索分页 viewType=PUBLIC_POOL 绑定+前缀 ✓;我的关注/批量取关新接口结构 ✓;我的线索/新建线索 followOnCreate+region 提示 ✓
**D. 文档落盘**
- ADR-0024 追加修订段(决策 3 推翻、每页实挂、保留集、region/列偏好例外、D 盘/Bruno 2);crm-lead/CONTEXT.md 菜单 tag 词条同步;PENDING-review-and-crm-dict.md 更新为 2026-08-17 状态
**E. 交付**
- git 提交待用户执行(后端仓 6 java + CONTEXT + ADR;文档仓全量)
- 全仓 mvn compile 兜底通过
Effort 到达 Destination:前端打开 D 盘按菜单文件夹逐页自助联调——不缺、不多、看得懂。