# 02 — 本机起服冒烟 + 环境盘点 `Type:` task · `Status:` resolved · `Blocked by:` — ## Question 本机(e: 盘换机后)第一次起客户模块全量服务,打通冒烟三连,产出 `.scratch/customer-e2e/env-inventory.md`(账号矩阵 / 部门树 / 字典 / 存量数据 / 商机数据——后续票的输入)。 工作项: - **fat jar 重打包**:⚠ 先停 8080 的 java 进程(jar 锁)再打包;打包后核对 jar 内类文件时间戳(Maven 增量陷阱:fat jar 可能落后源码)。 - **起服**(仓库根):`$env:SPRING_PROFILES_ACTIVE='verify'; $env:CRM_MINIO_AK='admin'; $env:CRM_MINIO_SK='Itc@123456'; java -jar crm-app\target\crm-app-1.0.0-SNAPSHOT.jar`。DB/Redis 凭据已内置于 `application.yml` 默认值(远程库 8.129.84.155,root/Itc@123456),无需另传。日志 `logs/crm-app.log`。 - **冒烟三连**:`GET /api/auth/debug/token?userId=` → `/me` → 任一客户端点(如 `POST /api/customer/pool/page`)。确认初始化器全绿(customer 相关表 + `CustomerFulltextIndexInitializer` 的 ngram 全文索引;⚠ 若 @Comment 含单引号建表会炸——坑⑳已修,观察即可)。 - **环境盘点**(Python 连远程库,每步新连接 autocommit=True):管理员 + 跨部门账号矩阵(userId/角色/DataScope 档位)/ 部门树(DEPT_AND_CHILD 样例)/ 字典组(customer_type 18 值、contact_source、industry 两级树、transfer_reason)/ 存量客户数据现状(票 12 冒烟残留 KH20260903xxx、脏数据行)/ 商机 e2e- 数据现状(交割联动素材)/ customer_pending_notice 现状。 - 盘量结论沉淀 env-inventory.md:每票要用的账号/字典/数据事实一览(对称商机 env-inventory.md 范本)。 ## Answer(2026-09-03 执行) - **fat jar 重打包**:先停服(8080 释放)→ 删旧 jar → `mvn -pl crm-app -am package -DskipTests` 成功(EXIT=0,jar 09/03 22:02 117.9MB 新于源码)。「mvn.cmd 拒绝访问」瞬时锁命中 3 次,原样重试均自愈。 - **起服**:verify profile 30.2s Started,无 ERROR,customer 表初始化 + ngram 全文索引全绿(坑⑳未复现)。 - **冒烟三连全绿**:debug/token ✅ → /me ✅(罗伟健 dept=744841292348915712)→ **pool/page ✅ http=200 code=0 total=0** → ping ✅。 - **D-01(P0)顺手修复**(用户拍板):pool/page 曾 500 `Unknown column 'o.customer_id'` —— CustomerMapper 两处 opportunity_count 子查询直查不存在的 opportunity.customer_id,真源在 opportunity_customer 中间表;H2 测试 SCHEMA 曾补假列掩盖。修复:子查询改走 `JOIN opportunity_customer oc ... oc.delete_key=0 AND o.deleted=0`(两分支缩进不同,坑㉒ replace_all 只中第一处,grep 计数核验后补第二处)+ H2 SCHEMA 删假列换真表 + Ownership 测试插桩改造;23/23 全绿;真库复验 200。**缺陷仍登记 D-01(H2 假列掩盖 + 票 12 冒烟漏 coverage),修复随报告披露。** - **环境盘点** → `env-inventory.md`(三脚本 env-inventory{,2,3}.py):64 表全景;客户域 14 表计数;存量客户 5 条(KH202609030001-0005,0001 已软删 + 库内 mojibake,编号水位 0005);公海空池;商机 e2e- 残留 15 条 + opportunity_customer 20 行孤儿绑定(920xxx 假客户 id,D-01 幽灵列正是此处);**用户 6047 / 部门 814(钉钉全量)**;唯一角色 ROLE_ADMIN(data_scope=4 全部)仅挂罗伟健 → 其余用户无角色(/me roles=[]),跨用户权限语义列入票 04 观察点;字典 24 组 241 item(活跃 229)全清单;列名陷阱速查(crm_auth_user.username / sys_dept.dept_name / dict_item.group_id / opportunity.opp_name / view_log+focus+pending_notice 无 deleted 列 / 根部门 parent_id=0);seed 约束 5 条(编号 0006 起、可辨识标记、幂等清理范围、中文走 Python、API 优先)。