From bbd41da1d396165f928fbf91e190f6bfcd6399e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Thu, 5 Feb 2026 10:46:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(shop):=20=E4=BF=AE=E5=A4=8D=E5=95=86?= =?UTF-8?q?=E5=9F=8E=E4=BF=A1=E6=81=AF=E7=BC=93=E5=AD=98=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优化缓存数据解析流程,添加空值检查 - 当缓存解析失败时清理无效缓存键 - 改进异常处理机制,避免返回空数据 - 移除调试代码并完善日志记录 --- .../service/impl/ShopWebsiteServiceImpl.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopWebsiteServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopWebsiteServiceImpl.java index 49cfeb9..d111c10 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopWebsiteServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopWebsiteServiceImpl.java @@ -45,12 +45,16 @@ public class ShopWebsiteServiceImpl implements ShopWebsiteService { String cacheKey = SHOP_INFO_KEY_PREFIX + tenantId; String shopInfo = redisUtil.get(cacheKey); if (StrUtil.isNotBlank(shopInfo)) { - log.info("从缓存获取商城信息,租户ID: {}", tenantId); -// try { -// return JSONUtil.parseObject(shopInfo, ShopVo.class); -// } catch (Exception e) { -// log.warn("商城缓存解析失败,从数据库重新获取: {}", e.getMessage()); -// } + try { + ShopVo cacheVo = JSONUtil.parseObject(shopInfo, ShopVo.class); + if (cacheVo != null) { + log.info("从缓存获取商城信息,租户ID: {}", tenantId); + return cacheVo; + } + } catch (Exception e) { + log.warn("商城缓存解析失败,清理缓存后重新获取: {}", e.getMessage()); + redisUtil.delete(cacheKey); + } } // 直接调用 CMS 服务获取站点信息,然后使用商城专用缓存