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

客户模块返工 · 回归重测报告(票 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 扫描

全仓 *.javaEF 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 记档)