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.
18 lines
1.8 KiB
18 lines
1.8 KiB
|
4 days ago
|
# 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**
|