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.

35 lines
3.1 KiB

1 week ago
# 02 — 环境盘点:远程库可用账号/部门/字典/存量数据
Type: research
Status: resolved
Blocked by: —
## Question
为 seed 脚本(票 05)与 E2E(票 07/08)盘点远程 DB(8.129.84.155)现状,回答:
1. **账号矩阵**:现有哪些用户可被 `GET /api/auth/debug/token` 签 token?挑出 2-3 个**不同部门**的普通用户 + 1 个管理员(有 ROLE_ADMIN / ALL 档位者),列出 userId / 姓名 / 部门 / 数据权限档位;
2. **部门树**:候选部门间是父子还是兄弟关系(DataScope `DEPT_AND_CHILD` 验证需要);
3. **字典可用性**:商机相关 14 组扁平字典 + industry 两级树是否在线(`/api/dict/**`);
4. **存量商机**:库里现有多少商机、什么状态分布 → seed 重跑的清理范围怎么圈(按 opp_name 前缀标记 or 记 ID 清单,票 04 拍);
5. **规则配置存量**:crm-rule 三族(阶段模板/方案卡模板/公海规则)现有几条、有没有发布中版本(票 08 的前置事实)。
方式:若票 03 已完成则走本地后端接口盘点;否则可直读 `crm-app` 配置里的远程 DB 凭据跑**只读 SQL**(不写库)。接口/SQL 盘不到的(如数据权限档位)读 Controller/Service 源码补充。
产出:`.scratch/opportunity-e2e/env-inventory.md`(含推荐账号矩阵候选)。
## Answer
已解决 · 20260828 · 产出 `.scratch/opportunity-e2e/env-inventory.md`(五问全答,原始响应落 `env-raw/*.json`,可复现脚本 `env-inventory*.ps1` + `analyze_env*.py`)。走本地后端 API 盘点(未直连 DB)。
**五问结论**:
1. **账号矩阵**:管理员=罗伟健 `739564171091247104`(无部门);普通用户 A 赖永利(特战团队)/ B 肖琴(冠军团队,与 A 兄弟部门)/ C 曾偲青(职员,跨中心),均 roles=[] active。用户总数 6047。
2. **部门树**:父子关系现成——营销中心(父)→特战团队+冠军团队(兄弟子),DEPT_AND_CHILD 样例直接可用;华南销售部(seed) 独立根但 0 人。
3. **字典**:22 组全在线,商机枚举全齐(opp_stage 5 / pause·close·pool_reason 6·6·5 / survey_seq 4 / follow_way 5 / result_tag 8 等);industry 两级树 60 项(parentId 有值)。
4. **存量商机**:26 条全历史测试残留(25 推进中+1 已关闭;待领取/暂缓/已转项目零覆盖);owner 全=罗伟健;**部分 oppName 库里就是 mojibake**(上轮 PS5.1 发中文 body 编码污染实锤)。
5. **规则存量**:阶段模板 1 条发布中;方案卡模板 2 条(草稿+已停用,**无发布中**→ F09 前置缺口);公海规则 **0 条** → R03 需 seed 造。
**附带 API 契约事实**(已写入 env-inventory ⑥ + 地图 Notes):分页参数是 `current`/`size`(上限 500,非 pageNum/pageSize,传错静默默认 10 条);PS5.1 禁发中文 body;dict item 参数名=`groupCode`。
给票 04 的新决策点:seed 清理范围(全量 26 条 vs 标记圈定)、账号 A/B/C 指认(DataScope 档位与 debug token 的关系需票 05 实测)、待领取/暂缓/已转项目三态的 seed 造法(5 态可能造不出)。