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.
1.8 KiB
1.8 KiB
10 — 自定义视图接入 crm-preference
What to build: 三个客户 workspace 各自能保存/加载自定义检索视图,复用 crm-preference 的 user_saved_view 平台能力(不重写),通过 filter 白名单把保存的条件翻译成查询、且不越权改变数据范围。
Blocked by: 04 — 三 workspace 视图 + 归属流转
Status: ready-for-agent
Spec 依据(详见 issues/11-answer.md):D17 复用 saved-view 平台;rule of three(商机样本1+客户样本2,不抽共享翻译器)。
- 复用 crm-preference
user_saved_view,不重写(各自CustomerSavedViewFilter) - 3 个 scope_key(票 11 §B):客户总览=
customer.overview/ 我的客户=customer.mine/ 客户公海=customer.pool;公海双视角共用customer.pool(视角只影响行内操作,不影响筛选) CustomerSavedViewFilter(票 11 §C):filter_json → MyBatis-Plus wrapper 翻译器(对称OpportunitySavedViewFilter)- 字段池白名单(票 11 §C):客户名称/编号(含/不含);类型/行业/阶段/星级/关系星级/战略等级/VIP等级/档案状态/地区(属于任一/不属于任一);最近跟进时间(早于/晚于/从未/已有);进入公海时间(仅pool);负责人/部门(仅overview/mine);创建时间。未知字段/操作符→静默跳过
- 排序字段池:创建时间/最近跟进时间/进入公海时间;文本字段不排
- PageParam 接入(票 11 §D):三 workspace PageParam 加
savedViewId;ViewQueryImpl 有 savedViewId→取 filter 叠加 wrapper - 验收(票 11 §E):scope_key 三值互斥且与 opportunity.* 无碰撞;白名单内生效/外跳过;每 scope 仅一个 isDefault;端到端保存→恢复;**saved-view 只叠加筛选不改变 @DataScope**