群里按 BOT 通道激活当前工单、航线报价和成交跟进;没有 TMS 报价编号时用工单字段补齐仍调锁舱,避免被本地规则拦住。 Co-authored-by: Cursor <cursoragent@cursor.com>
124 lines
5.6 KiB
Markdown
124 lines
5.6 KiB
Markdown
# 现网 vs 新系统 inquiry_robot(切换只改配置,不改代码)
|
||
|
||
同一套制品。用 `YTD_ENV=prod` 或 `YTD_ENV=test` 区分阶段(变量名仍叫 YTD_*,与 `03` 对齐)。
|
||
**域名与企微与现网相同**(`ai.ytd-scm.com`、应用 `1000010`)。
|
||
**新系统资源名一律 `inquiry_robot*`**,禁止再用 `ytd_test` / `ytd:test:` / `ytd-test`。
|
||
禁止在代码里写死域名/库名。
|
||
|
||
切流目标(方案 B):`E:\wwwroot` 取代 `C:\yutongda`。清单见 `deploy/CUTOVER-TO-PROD.md`。
|
||
|
||
对照表是切换清单。现网发布仍走甲方原流程与 `C:\yutongda` 指针;新系统只写 `E:\wwwroot`。
|
||
|
||
## 对照
|
||
|
||
| 项 | 现网(仍在跑) | 新系统 `inquiry_robot` |
|
||
|---|---|---|
|
||
| `YTD_ENV` | `prod`(现网进程) | 切流前可用 `test`;切流日改 `prod` |
|
||
| 公网域名 | `ai.ytd-scm.com` | **同一域名** |
|
||
| DNS / 证书 / Nginx | 已有 `ai.conf` | **不要另开域名/证书**;反代按切流改 |
|
||
| 站点 / H5 / 企微回调 | 同左 | 配置字符串相同;企微回调 URL **不用改** |
|
||
| 后台 API 前缀 | `/jeecgboot` → 8080 | `/jeecgboot` → **新主账 8180**(切流后) |
|
||
| 运行根 | `C:\yutongda` | **`E:\wwwroot`**(`admin\current` / `agent\current`) |
|
||
| 主账端口 | 8080(Jeecg) | **8180**(新 Java 主账,非 Jeecg) |
|
||
| 智能体 HTTP | 8810(另 8809/8811) | **8910**(合并) |
|
||
| AIBOT | 8813 | **8913**(切流前勿双连) |
|
||
| MySQL | `jeecg-boot` / `ytd_jeecg` | **`inquiry_robot` / `inquiry_robot`** |
|
||
| PostgreSQL | `ytd_runtime` | **`inquiry_robot_runtime`** |
|
||
| Redis | db0 `ytd:prod:node01-07` | db1 **`inquiry_robot:`** |
|
||
| MinIO 桶 | `ytd-inquiry` | **`inquiry-robot`**(S3 桶名不能用下划线) |
|
||
| 询价企微应用 | `1000010` | **同一套** |
|
||
| 运维企微 | `1000014` | **同一套**;切流前告警可加 `[test]` |
|
||
| AIBOT Bot | 现网 Bot | **同一套**;切流先停 8813 再开 8913 |
|
||
| TMS | `03` 现网 Client | 同一套;切流前默认关 lock/release |
|
||
| 发布脚本 | 现网累计发布器 | 只写 `E:\wwwroot` |
|
||
| 告警前缀 | 无 | 切流前 `[test]`;切流后去掉 |
|
||
|
||
数据机 IP、3306/5432/6379、MinIO `127.0.0.1:9000` **两边相同**。只换库名、用户、Redis db/前缀、桶。
|
||
|
||
## 数据库与存储(同一套变量名)
|
||
|
||
代码、YAML 只读变量名,**禁止**写死库名。现网明文见 `03`;新系统口令新开,写入 `E:\wwwroot\.env`。
|
||
|
||
| 变量 | 现网 | 新系统 |
|
||
|---|---|---|
|
||
| `MYSQL_HOST` | `10.206.0.14` | 同左 |
|
||
| `MYSQL_PORT` | `3306` | 同左 |
|
||
| `MYSQL_DB` | `jeecg-boot` | **`inquiry_robot`** |
|
||
| `MYSQL_USER` | `ytd_jeecg` | **`inquiry_robot`** |
|
||
| `MYSQL_PASSWORD` | 见 `03` | **新开,勿抄现网口令** |
|
||
| `YTD_MYSQL_URL` / JDBC | `.../jeecg-boot?...` | `.../inquiry_robot?...` |
|
||
| `PG_HOST` | `10.206.0.14` | 同左 |
|
||
| `PG_PORT` | `5432` | 同左 |
|
||
| `PG_DATABASE` | `ytd_runtime` | **`inquiry_robot_runtime`** |
|
||
| `PG_USER` | `ytd_runtime` | **`inquiry_robot_runtime`** |
|
||
| `PG_PASSWORD` | 见 `03` | **新开** |
|
||
| `PG_SSLMODE` | `prefer` | `prefer` |
|
||
| `CHECKPOINT_BACKEND` | `postgres` | `postgres` |
|
||
| `YTD_REDIS_HOST` | `10.206.0.14` | 同左 |
|
||
| `YTD_REDIS_PORT` | `6379` | 同左 |
|
||
| `YTD_REDIS_USERNAME` | `ytd_app` | 可同账号或新账号 |
|
||
| `REDIS_URL` | `...6379/0` | **`...6379/1`** |
|
||
| `REDIS_KEY_PREFIX` | `ytd:prod:node01-07` | **`inquiry_robot:`** |
|
||
| `OBJECT_STORAGE_BUCKET` | `ytd-inquiry` | **`inquiry-robot`** |
|
||
|
||
新系统 `.env` 片段(口令留空):
|
||
|
||
```text
|
||
YTD_ENV=test
|
||
YTD_DEPLOY_ROOT=E:\wwwroot
|
||
MYSQL_DB=inquiry_robot
|
||
MYSQL_USER=inquiry_robot
|
||
YTD_MYSQL_URL=jdbc:mysql://10.206.0.14:3306/inquiry_robot?characterEncoding=UTF-8&useUnicode=true&useSSL=true&requireSSL=true&verifyServerCertificate=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||
PG_DATABASE=inquiry_robot_runtime
|
||
PG_USER=inquiry_robot_runtime
|
||
REDIS_URL=redis://ytd_app:<密码>@10.206.0.14:6379/1
|
||
REDIS_KEY_PREFIX=inquiry_robot:
|
||
OBJECT_STORAGE_BUCKET=inquiry-robot
|
||
```
|
||
|
||
**切换环境 = 换 `.env` 取值,不改代码、不在迁移里写死库名。**
|
||
|
||
切流前新进程不得连 `jeecg-boot` / `ytd_runtime` / Redis `/0` 且前缀 `ytd:prod:` / 桶 `ytd-inquiry`。
|
||
|
||
## 代码约定
|
||
|
||
所有环境差异只进 `.env` / 前端构建参数 / Nginx,例如:
|
||
|
||
```text
|
||
YTD_ENV=test
|
||
PUBLIC_BASE_URL=https://ai.ytd-scm.com
|
||
WECOM_CALLBACK_URL=https://ai.ytd-scm.com/wecom/callback
|
||
INQUIRY_FORM_PUBLIC_BASE_URL=https://ai.ytd-scm.com/inquiry-form
|
||
BIZ_API_BASE_URL=http://127.0.0.1:8180
|
||
AGENT_CALLBACK_BASE_URL=http://127.0.0.1:8910
|
||
WECOM_AIBOT_BRIDGE_URL=http://127.0.0.1:8913
|
||
WECOM_AIBOT_INGRESS_URL=http://127.0.0.1:8910/internal/aibot/inbound
|
||
WECOM_AIBOT_ENABLED=false
|
||
WECOM_AIBOT_BOT_ID=
|
||
WECOM_AIBOT_SECRET=
|
||
WECOM_AIBOT_WS_URL=wss://openws.work.weixin.qq.com
|
||
REDIS_KEY_PREFIX=inquiry_robot:
|
||
PG_DATABASE=inquiry_robot_runtime
|
||
MYSQL_DB=inquiry_robot
|
||
OBJECT_STORAGE_BUCKET=inquiry_robot
|
||
```
|
||
|
||
两套 `.env` 分开放:现网仍在 `C:\yutongda\...`,新系统在 `E:\wwwroot\.env`。不要互相覆盖。
|
||
|
||
## 以后切到正式(新系统接管)
|
||
|
||
见 `deploy/CUTOVER-TO-PROD.md`。顺序摘要:
|
||
|
||
1. 新进程在隔离库 `inquiry_robot*` 验收通过。
|
||
2. `.env`:`YTD_ENV=prod`;库继续 `inquiry_robot*`(或甲方最终名)。
|
||
3. Nginx 反代切到新主账/智能体;企微回调 URL 不用改。
|
||
4. 停现网 8813,再起 8913。
|
||
5. 去掉告警 `[test]`。
|
||
|
||
## 禁止
|
||
|
||
- 新进程连 `jeecg-boot` / `ytd:prod:` / 桶 `ytd-inquiry`
|
||
- 新系统再使用 `ytd_test` / `ytd:test:` / `ytd-test` 命名
|
||
- 并存期与现网 **同时** 连接同一 AIBOT 长连接
|
||
- 一份 `.env` 混用两套库
|