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.
4.7 KiB
4.7 KiB
客户模块返工 · 回归重测报告(票 10)
- 日期: 2026-09-05
- 范围: 返工票 01–09、12 全部改动后的回归验收(票 11 文档同步不在本报告内)
- 结论: 五项验收全过,收工。
验收线逐项结果
1. mvn test 三模块全绿 ✅
全 reactor clean test -pl crm-opportunity -am(含 rule/customer/opportunity 传递依赖):
| 模块 | 用例数 | 结果 |
|---|---|---|
| crm-rule | 152 | 全绿 |
| crm-customer | 158 | 全绿(基线 122,返工净增 36:风格改造 + 看板拒绝 + 查重设置 + 形态偏好 + viewTouch + 批量工商 + 战略协议 6 例 + 联系人 oplog) |
| crm-opportunity | 242 | 全绿(偏好 scopeKey 常量接入 + tags 双归属,零逻辑变更) |
基线 521(146/122/242)→ 现 552,数量随用例变化、绿为准(票面口径)。
2. 冒烟全链 code=0 ✅
脚本 tmp/smoke-t10.py(复用 smoke-t12m.py 范式,URL 全部现行端点),服务 = 重打包后 fat jar(新代码入包,jar 时间戳 2026-09-05 11:18,启动日志可见 customerAgreementMapper 注册)。
43 步 0 fail(SMOKE DONE),覆盖:
- 登录(debug/token,verify profile)
- 客户三 workspace 列表(mine/overview/pool)+ 看板 summary/cards(mine/overview)+ pool 看板断言 67001 拒绝(返工票 03 口径)
- 建改查客户(quick-create → edit[CAS version] → detail → detail-head)
- 联系人 CRUD(create/edit/detail/page/delete)
- 抛公海 → 领取 → 分配(BUDDY) → 回收(ADMIN)
- 交割只读(page + assignable,见下方 D-07 说明;initiate=名下全量口径不重做,e2e-heavy 已覆盖)
- 导入全链(openpyxl 造文件 → upload[含 duplicateStrategy=SKIP 且响应回显断言,返工票 09-F8] → confirm → result 终态)
- 偏好存取:列偏好 save/get(visibleKeys/columnOrder 回读断言)+ 形态偏好 view-form save/get(返工票 05)
- 商机偏好存取(opportunity.mine,返工票 07)
- 战略协议五端点 + DB 快照断言(返工票 12:create 后快照=2 → edit 后=3 → delete 后=NULL)
- 批量工商更新(返工票 09-F6:ids 单查回填,stub 恒 NO_HIT)
冒烟过程登记的脚本级修正(非服务缺陷):edit 需带 CAS version + isBizNegotiated;contact/edit 必填 jobTitleName/phone。
已知缺陷引用(非本次回归):
- D-07(P1)
GET /api/customer/transfer/assignable稳定超时——票 05 已登记(e2e-heavy 30s×2 + probe 60s 双复现),本次历史单上 15s 超时复现,冒烟按「缺陷验证模式」记录不阻断(根因:根部门全树递归 + 逐用户 getDeptNames N+1)。 - D-04(P2) 导入失败明细
fail_reason列超长写不进(Data too long for column 'fail_reason',服务日志实证);D-05(P1) is_biz_negotiated NOT NULL 无默认值——均为票 09 audit 已知项,维持原状。
3. bruno 产出验收 ✅
- 全量对账(
.scratch/customer-rework/bruno_scan_d.py,本机 D:\ 路径版):源码 321 钥匙 = 文档仓 321 generated 文件,new=0 / delete=0 / 钥匙冲突=0 / 无法识别=0 / 私产=0。 - 本次同步落盘 8 文件(票 09/12 增量):
- 新建
A4 客户管理/战略协议/(5 份:新增/编辑/删除/详情/页签列表,票 12 tag=A4 客户管理/战略协议——票 12 拍板「三页物理在客户详情下、单菜单归属」,对齐联系人先例) - 新建
A4 客户管理/我的客户/批量更新工商信息.bru(F6) - patch
上传导入文件并预校验.bru×2(客户公海 + 我的客户/客户导入 双 tag 副本:duplicateStrategy 参数行 + 请求示例行 + 响应骨架,F8)
- 新建
- A4 目录树与 v29 对齐终验:A4 七节点(公海/总览/我的客户/客户详情/联系人/查重/交割)+ 战略协议按票 12 拍板挂 A4 根;knife4j 分组同构维持(票 07 终态无漂移)。
4. BOM 扫描 ✅
全仓 *.java 无 EF BB BF 前缀(AGENTS.md 编码纪律),零命中。
5. 风格 grep 终验 ✅
grep "@PathVariable|@PutMapping|@DeleteMapping|@RequestBody" crm-customer/ 零命中。
用例计数明细
- crm-rule 152:含提醒规则 save 表单化(票 02)+ 查重设置单例栈(票 04)
- crm-customer 158:含 H2 集成 CustomerAgreementIntegrationTest 6 例(快照联动/归属不可换/软删/可见性继承/67017 校验)
- crm-opportunity 242:CustomerOpportunityQueryPortImplTest 等全量(含跨模块 port)
遗留(进票 11 / 后续 effort)
- 票 11 文档同步:customer-module 三件套 + crm-customer/CONTEXT.md + URL 对账(本报告同日完成)
- D-07 assignable 超时修复(P1,独立 effort,返工范围外)
- 导入 D-04/D-05(已知缺陷,票 09 audit 记档)