From eb97c5300a8b17b0d25d07a582ef7e0c6407fd29 Mon Sep 17 00:00:00 2001 From: MiFaZhan Date: Fri, 30 Oct 2026 17:44:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E8=BD=AC=E5=8F=91=E7=AB=AF=E5=8F=A3=E7=BC=BA=E5=A4=B1=E4=B8=8E?= =?UTF-8?q?=20mock=20=E9=80=9A=E9=81=93=E6=9C=AA=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 测试反馈两个问题: 1. 代理转发地址只写了服务名 upstream-chan,未带端口 → 默认连 80 端口被拒。 改为 upstream-chan:8110。已核对其它服务(admin-svr / openapi / app-server / worker-svr)的上游地址均带端口,只有 upstream-proxy 这一处遗漏。 2. 直连 8110 查询报「通道未实例化」。根因在种子数据的 is_normal: 该字段语义是 0=正常、1=异常(chan 侧 CanCreateInstance 只在 *IsNormal==0 时 创建实例;NULL 也不合格)。mock 通道原来写的 1,因此实例从未创建。 改为 0。注意内网演示环境种子同样是 1,属开源版修正。 种子的 ON DUPLICATE KEY UPDATE 已包含 is_normal,老库重跑该段即可修复。 已验证(清空 data 目录从零启动): - t_sim_channels 中 channel_yd_mock 的 is_normal=0 - chan 日志出现 Create channel instance success, chanKey: channel_yd_mock - 日志无 abnormal / 未实例化 相关记录 --- config/upstream-proxy/config.yaml | 4 ++-- schema/init.sql | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/upstream-proxy/config.yaml b/config/upstream-proxy/config.yaml index 4f5eeeb..462beaf 100644 --- a/config/upstream-proxy/config.yaml +++ b/config/upstream-proxy/config.yaml @@ -99,8 +99,8 @@ redis: # ---------- 上游通道服务 ---------- gateway: - # 通道服务地址(同 compose 内服务名) - address: "upstream-chan" + # 通道服务地址:必须带端口,只写服务名会走默认 80 端口被拒 + address: "upstream-chan:8110" timeout: 10s # 单次批量转发的总预算上限。 # 非 APN 批量按「单卡超时 × 卡数」计算并以此封顶, diff --git a/schema/init.sql b/schema/init.sql index a7b1466..f56d425 100644 --- a/schema/init.sql +++ b/schema/init.sql @@ -4996,6 +4996,10 @@ INSERT INTO `sys_dict_data` (`dict_type`,`dict_value`,`dict_label`,`dict_sort`,` -- ============================================================ -- Mock 通道(演示卡全部挂在此通道,缺则卡片管理异常) +-- +-- 注意 is_normal:0=正常、1=异常(见 chan 侧 model.SimChannelConfigItemCache.CanCreateInstance, +-- 只有 *IsNormal == 0 才会创建通道实例)。写成 1 会导致「通道未实例化」。 +-- 这里的取值与内网演示环境种子不同(那边是 1),属开源版修正。 -- ============================================================ INSERT INTO `t_sim_channels` ( @@ -5012,7 +5016,7 @@ INSERT INTO `t_sim_channels` ( NULL,NULL,'', NULL,NULL,'http://onelink-mock:8080/',NULL,'000000', 1,1,'2026-10-19 15:35:03',NULL,NOW(), - 1,1,NULL,0, + 1,0,NULL,0, 100,50100,0 ) ON DUPLICATE KEY UPDATE