Files
inquiry_robot/prompt/13-环境对照.md
T
jillion886andCursor d9029dec89 落地空运群内协同与锁舱出站。
群里按 BOT 通道激活当前工单、航线报价和成交跟进;没有 TMS 报价编号时用工单字段补齐仍调锁舱,避免被本地规则拦住。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 17:25:42 +08:00

124 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 现网 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` 混用两套库