2.5 KiB
03 · 公海看板后端拒绝
- Status: resolved
- Type: task
- Blocked by: 02-style-unify
目标
看板端点对 pool workspace 后端直接拒绝(原型明文:客户公海只有列表视图和分屏视图两种,a4-1-1 L803)。
做法
board/summary+board/cards(02 改造后形态)收到workspace=pool→ 抛 67001 口径(参数非法;或 67004 无权限,以客户模块既有错误码段位为准,实施时查CustomerErrorCode);- 补单测:pool 看板两端点拒绝断言;
- tags 只挂
A4 客户管理/客户总览/看板列表+A4 客户管理/我的客户/看板列表(07 号票落地)。
验收
- mvn test 绿(新增拒绝用例);
- bruno 文档不出现公海看板分组。
Answer
最终确认的事实(用户两轮澄清,2026-09-04):卡片视图存在于客户总览/我的客户(分组=客户阶段:潜在/重潜/已成交;客户星级一~五星;关系星级一~五星),公海页面没有卡片视图(只有列表/分屏两视图)——票原前提成立,v29 树「A4-1 客户公海 [2]」与缓存证据一致。
实施:CustomerWorkspaceServiceImpl 新增私有守卫 assertBoardAllowed(workspace),board/summary 与 board/cards 入口第一行调用——workspace=pool 抛 BusinessErrorException(67001, "公海无卡片视图,看板仅支持客户总览/我的客户")。守卫先于 buildQuery/登录态/SQL,服务层直接拒绝。
测试:CustomerWorkspaceOwnershipIntegrationTest 新增 2 用例(pool summary / pool cards → 67001 断言),该类 17 绿;crm-customer 135 全绿(133+2)、crm-rule 146 绿,BUILD SUCCESS。
证据归档(截图拷入本目录):
a4-2-1_客户总览列表_卡片视图_.png——卡片视图分组规则佐证(与用户描述逐项一致,L873「看板分组……沿用【我的客户】」);a4-1-1_客户公海列表.png——v29 期公海整页(列表/分屏证据)。
引文勘误(仍有效):图表会话原引「a4-1-1 L803」在缓存中不存在(该 txt 全文 341 行);结论最终以用户对照活原型拍板为准。
记账回滚记录:本票曾因会话误读用户第一次澄清而错误翻案(map 曾增 R12、07 曾加公海看板 tag、10 曾翻冒烟断言),已全部撤销还原;07 维持「无公海」、10 维持「公海看板断言拒绝」。
验收:mvn test 绿 ✅;bruno 无公海看板分组 ✅(07 按「无公海」挂 tag 后自然满足)。