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.
 
 
 
 
 

5.9 KiB

A5 项目管理(crm-project)验收交付包(票 19)

单一入口:本文件是验收的唯一起点。交付范围 = 票仓 .scratch/crm-project/tickets/ 01–19 全部落地(16R 已修、17 已复测清零)。

1. 一键验收路径(约 10 分钟)

  1. 起服(如未起):
    构建:set JAVA_HOME=C:\Users\Administrator\.jdks\corretto-17.0.13 && D:\INTELL~1.3\plugins\maven\lib\maven3\bin\mvn.cmd -s settings.xml clean package -DskipTests
    起服:SPRING_PROFILES_ACTIVE=verify CRM_MINIO_AK=admin CRM_MINIO_SK=Itc@123456 → java -jar crm-app\target\crm-app-1.0.0-SNAPSHOT.jar
    (DB=远程共享库 8.129.84.155,凭据在 crm-app application.yml 默认值;8080 被占先杀 java)
    
  2. 种子py -X utf8 .scratch/crm-project/demo/seed_project_demo.py
  3. 打开 demo:浏览器开 .scratch/crm-project/demo/index.html(默认 API=http://localhost:8080
  4. 照操作说明走全流程.scratch/crm-project/demo/README.md「全流程演示路径」——建项(客户 99021001 + 方案卡 99021008)→ 冲突解除(报备通过双写 0→1)→ 逐级推进 → 3→5 无需招投标连跳 → 多步回退(连跳后 stage4 不在列)→ 推回 5 → 标记赢单(快照落列、锁死)/ 另建一个标输单(stage6 终态)→ 关闭记因 → 8 页签全读 → 角色切换(总监 99021002 可回退 / 普通销售 99021003 被拒 68005/68010)。
  5. 机器冒烟(可选复核):.scratch/customer-e2e/.venv10/Scripts/python.exe .scratch/crm-project/demo/smoke_a5.py → 预期 35/35 PASS

2. 交付物索引

交付物 位置 说明
demo 单页(验收前端参考实现) .scratch/crm-project/demo/index.html 看板/列表/详情 8 页签/状态机全动作/角色切换
demo 操作说明 .scratch/crm-project/demo/README.md 入口/环境/种子/演示路径/已知演示性简化
种子 + 冒烟 同目录 seed_project_demo.py / smoke_a5.py 幂等;35 步含 16R 回归三断言
缺陷台账(终版) .scratch/crm-project/audit/audit-defects.md P0=0 / P1=3(已修,票 17 复测 FIXED)/ P2=12、P3=10 维持记档·可翻案 / 观察项 1
逐页对照台账 .scratch/crm-project/audit/audit-ledger.md 原型 17 页 × 142 对照点矩阵
复测结论 .scratch/crm-project/audit/retest-result.json FIXED 3 / KEPT 23 / REPRODUCED 0
接口文档(Bruno) E:\code\crm-api-docs\A5 项目管理\(6 子目录 24 .bru) agent 未提交 git,留人工审查提交
API-SUMMARY(终版) .scratch/crm-project/API-SUMMARY.md 21 端点 + 错误码 68001~68010 + 值域附录
端点↔原型对齐核查表 .scratch/crm-project/endpoint-page-alignment.md 21 端点 × 17 页双向勾对(票 18)
模块域语言 crm-project/CONTEXT.md + 根 CONTEXT-MAP.md 已挂载
ADR docs/adr/0041(方案卡 owner 化解耦)、0042(项目双轴状态机) spec §8 留痕已核销(回写标记在 deliverable-spec §8)

3. 翻案回环(P2/P3 处置)

  • 台账中 P2/P3 共 22 条全部标注「维持记档·可翻案」(含分屏视图未实现、列表列裁剪、回退弹窗原因类型联动、终态可加跟进、closeType 原始码显示等)。
  • 翻案方式:按 audit-defects.md 对应条目的复现步骤开 16R 形态返工票(一张票一条/一组相关缺陷,ready-for-agent,动代码后照票 17 口径复测并在台账追加轮次)。
  • 观察项(非缺陷):赢单态(stage5/status=1)可被主动关闭——系 spec §3「任意 stage 可主动关闭」既有口径,复测已留痕,供产品复核(若改:ProjectStageMachine.ensureCloseable 一处)。

4. 发版 / 联调移交清单

  • 构建:发版必须 clean package(禁 -pl/-rf 中段 resume);测试 -pl crm-project -am test -DargLine=-Djdk.attach.allowAttachSelf=true -Xmx1024m(corretto-17)。
  • 环境事实指针.scratch/customer-frontend-handover/map.md「环境事实」节(DB/MinIO/起服/单测通道,本机 mvn=IDEA 捆绑 3.9.9)。
  • DB 迁移SchemeCardOwnerMigrationRunner 启动期幂等(老库补列/回填/换唯一约束/放宽 opp_id 可空);新装库直达新形态。共享库已实测迁移通过。
  • bruno-sync:配置已加(sourceRoots + A5 menuBindings);重跑 /bruno-sync 以源码 tag 为准幂等归位(本机未装该 skill,.bru 为按 generated 形态手写)。
  • 真实前端:Vue 仓由前端团队按 Bruno 文档另做(沿 customer 先例);demo 为参考实现。
  • 测试基线:crm-project 45 用例 + 全仓约 1100 用例绿(commit 时点);mvn -s settings.xml test 全量复跑通过。

5. spin-out 清单(契约预留、本期不做)

预留 前置
冲突检测五维匹配 + 多方/异地拉群 ProjectConflictDetector(桩恒无冲突)、ConflictPullDTO 维度集/阈值签名形态 conflictPullJson 补「匹配维度选择+命中阈值」配置列
商机推送方案卡 → 自动转项目 OpportunityConvertPort/ConvertToProjectCmd(crm-opportunity 声明实现,本期零调用) 推送规则票
群聊详情页签 企微群能力
阶段提醒推送 StageRemindDTO 签名 通知推送
标底分成计算 BidConfigDTO 分成字段 薪酬/绩效模块
输单复盘字段(原因/竞品/失败分析) stage6 落位已有 产品定义字段集后一票加列
赢单后履约(合同/订单/发货/回款) 赢单 stage5 闭环即终点 独立票

6. 验收判定口径(与票 17 一致)

  • 主链 11 步(建项→报备→推进→连跳→回退→赢单锁死→动态留痕)全通 = 通过基线;
  • P0/P1 清零 = 已达成(复测 FIXED 3 / REPRODUCED 0);
  • P2/P3 记档项不阻塞验收,翻案走第 3 节回环。