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.
71 lines
5.9 KiB
71 lines
5.9 KiB
|
1 week ago
|
# 商机 E2E · 环境盘点(远程库现状)
|
||
|
|
|
||
|
|
> 票 `02-env-inventory`(research)产出 · 20260828 · 走本地后端 API 盘点(后端已起,票 03 ✅),原始响应落 `.scratch/opportunity-e2e/env-raw/*.json`,分析脚本 `env-inventory*.ps1` + `analyze_env*.py`。
|
||
|
|
|
||
|
|
## ① 账号矩阵(推荐)
|
||
|
|
|
||
|
|
| 角色 | 姓名 | userId | 部门 | 依据 |
|
||
|
|
|---|---|---|---|---|
|
||
|
|
| 管理员 | 罗伟健 | `739564171091247104` | **无部门**(primaryDeptId=null) | roles=[管理员];`hasRole('ADMIN')` 通过(users/page 可调);MANAGE 视图回全量 26 条 |
|
||
|
|
| 普通用户 A | 赖永利 | `744842565802524672` | 特战团队(营销中心子) | roles=[] active |
|
||
|
|
| 普通用户 B | 肖琴 | `744842566742048768` | 冠军团队(营销中心子) | roles=[] active;与 A **兄弟部门** |
|
||
|
|
| 普通用户 C | 曾偲青 | `744842318024015872` | 职员(保伦公司子) | roles=[] active;与 A/B **跨中心** |
|
||
|
|
|
||
|
|
备选:胡华波 `744842555677474816`(销售)、吴学纲 `744842319282307072`(行政稽查部)。
|
||
|
|
用户总数 6047(钉钉同步全公司);`POST /api/system/users/page` 筛选参数:`deptId`(含全部子孙)/`employmentStatus`(active/resigned/unassigned)/`loginFrom`/`loginTo`,需 ADMIN。
|
||
|
|
|
||
|
|
## ② 部门树(关键节点)
|
||
|
|
|
||
|
|
- 根:`广东保伦电子股份有限公司`(744841292348915712)→ 职员 / 研发中心 / 行政稽查部 / 生产一~五厂 / 西安保伦 / 湖北爱递思 …
|
||
|
|
- **DEPT_AND_CHILD 现成样例**:营销中心 `744841295071019008`(父)→ 特战团队 `744841308564094976` + 冠军团队 `744841308677341184`(兄弟子部门)——A 挂特战、B 挂冠军即可验「含子孙可见兄弟不可见」。
|
||
|
|
- `华南销售部(seed)` `744700334353416192`:独立根(上轮 seed 造),**0 人挂靠**。
|
||
|
|
- ⚠ 根节点 `744636475731083264` 的名称在库里就是坏字节(乱码不可还原),历史脏数据,不影响测试。
|
||
|
|
|
||
|
|
## ③ 字典可用性:22 组全在线
|
||
|
|
|
||
|
|
`GET /api/dict/group/enabled-list` 22 组、`GET /api/dict/item/enabled-list?groupCode=<code>` 逐组有项。商机相关枚举全齐:
|
||
|
|
|
||
|
|
| 组 | 项数 | 明细(code=xxx_N 递增,_99=其他) |
|
||
|
|
|---|---|---|
|
||
|
|
| opp_stage | 5 | 客户圈定/关系摸排/资料采集/方案卡/已转项目(OPP_STAGE_01~05)|
|
||
|
|
| opp_source | 3 | 线索转入/线下挖掘/客户转介绍 |
|
||
|
|
| pause_reason | 6 | 客户项目延期/预算冻结/招标暂停/政策不可抗力/个人原因/其他 |
|
||
|
|
| close_reason | 6 | 项目取消/客户放弃/竞争失败/重复商机/无效商机/其他 |
|
||
|
|
| pool_reason | 5 | 长期未有效跟进/客户暂无预算/项目暂停或延期/介入时机不成熟/其他 |
|
||
|
|
| survey_seq | 4 | 第一次/第二次/第三次/三次以上 |
|
||
|
|
| follow_way | 5 | 电话沟通/上门拜访/微信对接/线上会议/展会沟通 |
|
||
|
|
| result_tag | 8 | 暂无进展/需求确认/方案推进/… |
|
||
|
|
| attachment_type | 5、customer_role 6、project_role 6、bid_form 4、locality_type 2、apply_way 2 | 齐 |
|
||
|
|
| **industry** | **60(两级树)** | 一级 gov/edu/law/health/transport/energy/finance/park/tourism + 二级(gov_1 人大政协…),item.parentId 有值 ✅ |
|
||
|
|
|
||
|
|
## ④ 存量商机:26 条全是历史测试残留
|
||
|
|
|
||
|
|
- 分布:**status=2 推进中 25 条 + status=4 已关闭 1 条**(`id=999999999001` 手工 ID);待领取(1)/暂缓(3)/已转项目(5) **零覆盖** → seed 矩阵需补。
|
||
|
|
- 归属:owner 全部=罗伟健、ownerDept 全部 null。
|
||
|
|
- ⚠ **编码污染实锤**:部分 oppName 在库里就是 mojibake(如「B验证」「状态机验证」的坏字节版本)——上轮用 PS5.1 发 UTF-8 body 时编码错误所致,**不可逆**。结论:**票 05 seed / 票 07/08 E2E 脚本一律用 Python requests**(PS5.1 Invoke-RestMethod 发中文 body 必污染)。
|
||
|
|
- poolReason 残留标记:e2e-assign / verify-assign / e2e / test / batch2(历史 seed 的隔离标记痕迹)。
|
||
|
|
- **清理范围建议**(票 04 拍):26 条无真实业务数据,可全量清理;保守方案=按上轮同名标记(sm-e2e/端到端回归/状态机e2e/回归测试/test-create/新增验证系列)圈定。全新 seed 建议统一 `e2e-` 前缀 + 记录 ID 清单。
|
||
|
|
|
||
|
|
## ⑤ 规则配置存量(crm-rule 三族)
|
||
|
|
|
||
|
|
| 族 | 条数 | 明细 |
|
||
|
|
|---|---|---|
|
||
|
|
| 阶段模板 | 1 | OPP_STAGE_TPL_01 V1.0 **发布中**(status=2) 全公司默认(兜底种子)|
|
||
|
|
| 方案卡模板 | 2 | OPP_SCHEME_TPL_02 V1.0 **草稿**(status=1);OPP_SCHEME_TPL_01 V1.0 **已停用**(status=3)——**无发布中版本** |
|
||
|
|
| 公海规则 | **0** | 空 |
|
||
|
|
|
||
|
|
缺口结论:① F09 方案卡的 `selectable-templates` 当前预期为空——票 08(或 seed)需先 save-draft→publish 一条方案卡模板;② 公海规则零配置 → F14 领取校验在「无规则」时的兜底行为本身是票 07/08 实测点,R03 需要 seed 造一条发布中规则。
|
||
|
|
|
||
|
|
## ⑥ API 契约事实(给票 05/07/08/10/11 的坑位清单)
|
||
|
|
|
||
|
|
1. **分页参数 = `current` / `size`**(BaseParam,size 上限 500),**不是** pageNum/pageSize——传错不报错、静默走默认 current=1 size=10。
|
||
|
|
2. **禁用 PS5.1 发中文 body**:Invoke-RestMethod 发 UTF-8 body 编码错误 → 库里存 mojibake(④ 已有实锤);读响应也会把 UTF-8 按 Latin-1 解(可逆还原)。脚本一律 Python requests。
|
||
|
|
3. dict item enabled-list 参数名 = `groupCode`(不是 code)。
|
||
|
|
4. `GET /api/auth/debug/token?userId=` 签发即用;管理员 capabilities:users/page、MANAGE 视图、dict/role 全套 permCodes。
|
||
|
|
|
||
|
|
## 喂票 04 的决策点(承接 spec-flows U 清单)
|
||
|
|
|
||
|
|
- seed 清理范围:全量清 26 条 vs 按标记圈定(④)。
|
||
|
|
- 账号指认:上表 A/B/C 是否可用(他们无商机数据权限档位——debug token 是否绕过 DataScope 档位检查,票 05 设计时实测一条)。
|
||
|
|
- 状态零覆盖的补法:待领取(1)/暂缓(3)/已转项目(5) 三态 seed 造法(转项目 ⊘,5 态可能造不出来——用关闭+重启对凑,或确认 5 态只能线索转入路径产生)。
|