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.
 
 
 
 
 

3.0 KiB

Map: crm-project 项目管理模块选型与规格锁定

Destination

锁定新模块 crm-project(原型 a5 项目管理)可交付给一个实现会话开工的规格:模块边界、阶段状态机、与上游 crm-opportunity/crm-customer 的接缝契约、三视图/详情页页签的接口清单、以及 crm-rule 里已存在的 ProjectRule 如何被消费。到达点=一份实现会话读完即可动手的 spec,而不是把 a5 写完。

Notes

  • 领域:Java / Spring Boot 3.3 多模块单仓,MyBatis-Plus + JPA 建表;参照 README.md 的模块模板与 AGENTS.md 的「新模块接口接入 checklist」。
  • 对称参照模块:动手前先读 crm-opportunity(双轴状态机 + 四视图 + 8 controller)与 crm-lead——a5 与 a3 高度同构,不另起风格。
  • 每个 ticket 用 /grilling + /domain-modeling 推进;需要读原型页时走 AGENTS.md「Reading Lanhu prototype pages」路径(读 axure_extract_bade4454_screenshots/*.txt,OCR 兜底)。
  • 已核实的现状:a2/a3/a4/a7 已建;a5 项目零实体/零表/零 controller,仅有跨模块桩 ConvertToProjectCmdProjectOwnerSyncPortProjectUserTransferPortImplProjectRule(crm-rule)在等它落地。
  • Plan-not-do:本 Map 只产决策/规格,不写业务代码。

Decisions so far

  • upstream-seam-contract — 项目与商机同表(opp_status=5切域);crm-project 须实现两个 Port(ConvertToProjectCmd 回调接收者、ProjectOwnerSyncPort owner同步);ProjectRule 由 crm-rule 管 crm-project 只读;ProjectUserTransferPortImpl 已在 crm-opportunity 里实现无需新增
  • stage-model-facts — 阶段单轴线性7步(冲突待处理→方案设计→商务报价→招投标准备→商务跟进→赢单/输单→结项)+随时可关闭;冲突待处理是独立阶段;赢单/输单是同一阶段两出口;"报备审批"只写日志不做页签;列表12列;看板按阶段分列

Not yet specified

  • 详情页各页签(方案设计/商务报价/招投标准备/商务跟进/赢单输单/结项)的字段与写端点——待「阶段状态机」ticket 定稿后才切得清。
  • 项目金额/中标时间/品牌等列表字段与 param 过滤——待「实体字段清单」ticket 后。
  • 与 crm-file(附件/标书)、crm-log(操作日志页签)的接缝——待主体规格定后。
  • a6 数据看板对项目数据的读取契约——很可能超出本 Map 目的地,若确认则移入 Out of scope。

Out of scope

  • a6 数据看板(运营/客户/营销)本身的实现——它是 crm-project 的下游消费者,另起 effort。
  • a1/a1x 工作台/工作计划/消息中心——独立域,与 a5 无强依赖。