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.2 KiB

02 · 端点风格全量统一(55 + 1 个端点)

  • Status: resolved
  • Type: task
  • Blocked by: 01-ag-checklist

目标

crm-customer 全部 9 Controller 55 端点 + crm-rule CustomerReminderRuleController 1 端点,对齐 lead/opportunity 扁平动作动词风格。

改造规则

现状 改为
PUT /{id}(客户/联系人编辑) POST /edit?id=
DELETE /{id}(删联系人、删团队成员) POST /delete?id=POST /member/remove?id=&memberUserId=
GET /{id}/{id}/detail-head/{id}/follow/page/{taskId}/failures 等全部 PathVariable 查询参数:/detail?id=/detail-head?id=/follow/page?id=/failures?taskId=
POST /{workspace}/page(workspace 路径变量) POST /page + workspace 参数(对称商机 viewType 参数形态)
POST /{workspace}/board/summary/{workspace}/board/cards POST /board/summaryPOST /board/cards + workspace 参数
POST /(create 空路径) POST /createPOST /quick-create(已有的保持)
PUT /api/rule/customer/reminder + @RequestBody JSON POST /save + form 绑定(消灭全仓唯一 ADR-0017 违规
POST /{taskId}/confirm/{id}/focus/{id}/unfocus/{id}/star/{id}/unstar/{id}/assign/{id}/assignable 查询参数形态

波及面

  • controller 层 mapping + 方法签名(PathVariable → Param DTO 字段);
  • 全部相关单测(crm-customer 122 条基线)URL/参数断言;
  • 冒烟脚本 URL(10 号票重跑时用新 URL);
  • 商机侧跨模块走 Java service(HANDOFF 3.6),无 HTTP 连锁(R11)。

验收

  • grep -r "PathVariable\|@PutMapping\|@DeleteMapping\|@RequestBody" crm-customer/ crm-rule/(客户部分) 零命中;
  • crm-customer + crm-rule mvn test 绿。

同步动作

.scratch/customer-module/API-SUMMARY.md 全端点 URL 表重写(收尾 11 号票统一校验)。

Answer

改造范围(8 Controller 26 端点重写 + 2 处注释同步)

Controller 改造
CustomerContactController POST ""/createPUT /{id}POST /edit?id=DELETE /{id}POST /delete?id=GET /{id}GET /detail?id=
CustomerController POST ""/createPUT /{id}POST /edit?id=GET /{id}GET /detail?id=GET /{customerId}/contactsGET /contacts?customerId=
CustomerDetailController /detail-head?id=GET /member/list?id=POST /member/add?id=POST /member/remove?id=&memberUserId=(原 DELETE)、GET /opportunity/page?id=GET /oplog/page?id=POST /follow/add?id=GET /follow/page?id=
CustomerFocusController `POST /focus
CustomerImportController POST /confirm?taskId=GET /result?taskId=GET /failures?taskId=
CustomerTransferController GET /detail?id=POST /assign?id=GET /assignable?id=
CustomerWorkspaceController 三端点去 {workspace} 路径段→POST /pagePOST /board/summaryPOST /board/cards,workspace 进 CustomerWorkspacePageParam 字段(对称商机 viewType-in-DTO 范式,服务签名不变)
CustomerReminderRuleController(crm-rule) PUT @RequestBodyPOST /save 表单绑定——全仓唯一 ADR-0017 违规消灭

Ownership / Ping / 其余既平端点本就合规,未动。测试为 service 层集成测试(直调 service,无 URL 断言),服务签名未动,零波及。

验收

  • grep -r "PathVariable\|@PutMapping\|@DeleteMapping\|@RequestBody" crm-customer/ crm-rule/ 零命中(含 target 二进制,重建后干净);
  • mvn test 绿:crm-rule 146(对齐基线)、crm-customer 133(基线 122,随用例演进)、上游 crm-preference 16,BUILD SUCCESS;
  • BOM 扫描:改动文件无 EF BB BF

同步动作.scratch/customer-module/API-SUMMARY.md 全端点 URL 表重写按票 02 原注留待 11 号票收尾统一校验(R1 随修随改 + 终验对账)。冒烟脚本新 URL 归 10 号票重跑时更换。

边界备忘workspace 现为表单参数,缺省/非法值由服务层按未知 workspace 拒绝(原路径段缺失=404,现=业务错误码);pool 看板拒绝归 03 号票。