From f5f9e3a19df89e813d76d3fbe9273206ae65df13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sun, 21 Jun 2026 10:32:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(system):=20=E8=B0=83=E6=95=B4=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E9=85=8D=E7=BD=AE=E8=AF=BB=E5=8F=96=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 getMpWxSetting 方法,优先读取 sys_setting(mp-weixin) - 读取失败时回退到 db_websopy.app_config(category=wechat) - 更新异常日志内容,明确读取失败顺序 - 适配业务需求调整配置优先级 - 影响所有调用 getMpWxSetting 的相关方法调用流程 --- .workbuddy/memory/2026-06-21.md | 27 +++++++++++++++++++ .../system/controller/WxLoginController.java | 15 ++++++----- 2 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 .workbuddy/memory/2026-06-21.md diff --git a/.workbuddy/memory/2026-06-21.md b/.workbuddy/memory/2026-06-21.md new file mode 100644 index 0000000..65ad73b --- /dev/null +++ b/.workbuddy/memory/2026-06-21.md @@ -0,0 +1,27 @@ +# 2026-06-21 工作日志 + +## WxLoginController 配置读取顺序调整 + +### 修改内容 +修改了 `WxLoginController.java` 中的 `getMpWxSetting` 方法,调整小程序配置读取顺序: + +**修改前:** +- 优先:`db_websopy.app_config`(category=wechat) +- 兜底:`sys_setting.mp-weixin` + +**修改后:** +- 优先:`sys_setting.mp-weixin` +- 兜底:`db_websopy.app_config`(category=wechat) + +### 修改原因 +业务需求变更,需要优先从系统设置(sys_setting)读取小程序配置,数据库配置(app_config)作为兜底方案。 + +### 影响范围 +影响所有调用 `getMpWxSetting` 方法的地方: +- `getOpenIdByCode` - 获取 openid +- `getAccessToken` - 获取 access_token +- `loginByOpenId` - openid 无感登录 +- `getWxOpenId` / `getWxOpenIdOnly` - 获取微信 openId + +### 文件位置 +`/Users/gxwebsoft/JAVA/com.gxwebsoft.core/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java` diff --git a/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java b/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java index 9f5332a..a8cd040 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java @@ -437,7 +437,7 @@ public class WxLoginController extends BaseController { } /** - * 优先读取 db_websopy.app_config(category=wechat),不存在或异常时回退到 sys_setting (mp-weixin) + * 优先读取 sys_setting (mp-weixin),不存在或异常时回退到 db_websopy.app_config(category=wechat) * * @param tenantId 租户ID(传 null 时使用当前请求租户) * @return JSONObject 配置内容(含 appId / appSecret 等字段) @@ -445,15 +445,16 @@ public class WxLoginController extends BaseController { private JSONObject getMpWxSetting(Integer tenantId) { Integer tid = tenantId != null ? tenantId : getTenantId(); try { - JSONObject wechat = appConfigService.getByCategory("wechat", tid); - if (wechat != null && !wechat.isEmpty()) { - return wechat; + // 优先:sys_setting.mp-weixin + JSONObject setting = settingService.getBySettingKey("mp-weixin"); + if (setting != null && !setting.isEmpty()) { + return setting; } } catch (Exception e) { - System.err.println("[WxLoginController] 读取 app_config 失败,回退 sys_setting: " + e.getMessage()); + System.err.println("[WxLoginController] 读取 sys_setting 失败,回退 app_config: " + e.getMessage()); } - // 兜底:原 sys_setting.mp-weixin - return settingService.getBySettingKey("mp-weixin"); + // 兜底:db_websopy.app_config(category=wechat) + return appConfigService.getByCategory("wechat", tid); } /**