72 lines
3.9 KiB
Markdown
72 lines
3.9 KiB
Markdown
# 切流目标:新系统取代 `C:\yutongda`(方案 B)
|
||
|
||
决策日期:2026-09-12。
|
||
运行根(新正式):`E:\wwwroot`(`admin\current` / `agent\current`)。
|
||
现网旧根:`C:\yutongda`(切流完成前禁止删、禁止改其 `ops` 指针)。
|
||
|
||
对照合同:`prompt/13-环境对照.md`。本文件只写**执行顺序与禁区**。
|
||
|
||
## 目标态(切完之后)
|
||
|
||
| 项 | 值 |
|
||
|---|---|
|
||
| `YTD_ENV` | `prod` |
|
||
| 运行根 | `E:\wwwroot` |
|
||
| 主账 | 新 Java 主账(非 Jeecg),端口按切流日约定(可继续 8180 或改回 8080) |
|
||
| 智能体 HTTP | 合并进程(现 8910,切流后可改挂 8810 或保持 8910 只改 Nginx) |
|
||
| Worker | 唯一后台进程 |
|
||
| AIBOT | 仅新桥(现规划 8913);**旧 8813 必须先停** |
|
||
| 域名 / 企微 | 仍为 `ai.ytd-scm.com` / `1000010`(URL 不用改) |
|
||
| MySQL / PG / Redis / 桶 | **正式列取值**;新主账**不复用 Jeecg 表结构**,用新库或迁完再切库名 |
|
||
|
||
## 当前阶段(切流前)
|
||
|
||
已做:Nginx 回调/`inquiry-form`/`agent/health` → 8910;静态后台 → `E:\wwwroot\admin\current`。
|
||
未做:新主账 8180、Worker、真库、Graph/Redis、AIBOT 切流。
|
||
|
||
**切流前数据必须继续隔离**(新系统资源名:`inquiry_robot` / `inquiry_robot_runtime` / `inquiry_robot:` / 桶 `inquiry_robot`),禁止新进程写 `jeecg-boot` / `ytd_runtime` / `ytd:prod:` / `ytd-inquiry`。
|
||
不要再用 `ytd_test*` 命名。
|
||
|
||
## 阶段清单
|
||
|
||
### P0 — 新正式底座(仍隔离库)
|
||
|
||
1. 服务器安装 **JDK 17+**(已装:`E:\wwwroot\tools\jdk-17`,Microsoft OpenJDK 17.0.16;环境变量 `JDK17_HOME`。旧 Jeecg 仍用 `C:\yutongda\tools\jdk8`)。
|
||
2. 开通/确认新系统库账号:MySQL `inquiry_robot`、PG `inquiry_robot_runtime`、Redis db1 前缀 `inquiry_robot:`、桶 `inquiry-robot`(勿指 `jeecg-boot`)。
|
||
- Redis / MinIO 已在应用机配通;MySQL/PG 建库 SQL 在 `E:\wwwroot\ops\sql\`,需数据机管理员执行(现网 `ytd_jeecg` / `ytd_runtime` **无建库权限**)。
|
||
3. 部署并常驻:主账 `8180`、智能体 `8910`、Worker;后台静态已在 `admin\current`。
|
||
4. 主账:工单六态 + transition API;智能体改打 `BIZ_API_BASE_URL=http://127.0.0.1:8180`。
|
||
5. Redis 队列/幂等、PG checkpoint 接通。
|
||
6. 业务验收:建单 → 补问 → 报价 → 六态,不依赖旧 Jeecg 写路径。
|
||
|
||
### P1 — 切流日(取代现网进程)
|
||
|
||
须单独批准。失败则按现网流程回滚 `ai.conf` 与进程。
|
||
|
||
1. 备份:`ai.conf`、`E:\wwwroot\ops\active-release.json`、现网 `C:\yutongda\ops\active-release*.json`。
|
||
2. `.env` 改为 `YTD_ENV=prod`;库/Redis/桶继续用 `inquiry_robot*`(或甲方最终正式名);去掉告警 `[test]`。
|
||
3. Nginx:`/jeecgboot` 指到**新主账**(勿再指旧 8080,除非回滚)。
|
||
4. 停现网:旧智能体相关(8810 等)、**先停 8813**,再起新 AIBOT `8913` 并 `WECOM_AIBOT_ENABLED=true`。
|
||
5. 确认 8080 旧 Jeecg:按产品决定停或只读保留;**新后台只打新主账**。
|
||
6. 冒烟:企微收发、后台登录、建单、六态、健康检查。
|
||
7. 观察期后再处理旧目录归档(不要当天直接删 `C:\yutongda`)。
|
||
|
||
### P2 — 收尾
|
||
|
||
- TMS lock/release 按产品打开。
|
||
- 旧 release / 旧库只读归档。
|
||
- 发布脚本只写 `E:\wwwroot`,不再用现网累计发布器切活动指针。
|
||
|
||
## 硬禁止(直到 P1 批准)
|
||
|
||
- 新主账 / 智能体连接 `jeecg-boot`、`ytd_runtime`、Redis `/0` + `ytd:prod:`、桶 `ytd-inquiry`
|
||
- 与现网 **同时** 连接同一 AIBOT 长连接
|
||
- 删除或改写 `C:\yutongda\ops` 活动指针
|
||
- 把半成品 `YTD_ENV=prod` 却仍混用旧现网库密钥
|
||
|
||
## 回滚(P1 失败)
|
||
|
||
1. `ai.conf` 恢复切流前备份;硬重启 Nginx(避免 BOM / 卡死的 Restart-Service)。
|
||
2. 停 `E:\wwwroot` 新进程中已接管的部分;拉起现网对应进程。
|
||
3. 确认 `https://ai.ytd-scm.com/wecom/callback` 回到现网行为。
|