From ceaaa7f28e18222e5d68d14587624e3edd423aab Mon Sep 17 00:00:00 2001 From: suzhuhong Date: Tue, 10 Feb 2026 10:32:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A6=82=E6=9E=9C=E6=9C=89=E7=BC=93?= =?UTF-8?q?=E5=AD=98=20=E4=BD=86=E6=98=AF=E6=B2=A1=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=20=E6=B8=85=E9=99=A4=E7=BC=93=E5=AD=98=20?= =?UTF-8?q?=E9=92=88=E5=AF=B9=E4=BF=A1=E5=8F=91=E8=AE=BE=E5=A4=87=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/xinfa/XinFaDeviceService.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java index 47cad4ff1..43e534aeb 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java @@ -156,6 +156,9 @@ public class XinFaDeviceService { List deviceDetailDetail = getStoreXinFaDeviceDetailDetail(storeNum, token); if (CollectionUtils.isNotEmpty(deviceDetailDetail)) { return deviceDetailDetail; + }else { + //如果在该账号下没有数据 清除缓存 + redisUtilPool.hashDel(RedisConstant.HUOMA_STORE_DEVICE_RESOURCE_KEY, storeNum); } } } @@ -173,8 +176,8 @@ public class XinFaDeviceService { public List getStoreXinFaDeviceDetailDetail(String storeNum, String token) { - Integer storeIdByStoreNum = getStoreIdByStoreNum(storeNum, token); - return getStoreXinFaDeviceDetailByPointId(storeIdByStoreNum, token); + Integer pointId = getStoreIdByStoreNum(storeNum, token); + return getStoreXinFaDeviceDetailByPointId(storeNum,pointId, token); } @@ -294,7 +297,7 @@ public class XinFaDeviceService { - public List getStoreXinFaDeviceDetailByPointId(Integer pointId, String token) { + public List getStoreXinFaDeviceDetailByPointId(String storeNum,Integer pointId, String token) { if (pointId != null){ StoreXinFaDetailRequestDTO storeXinFaDetailRequestDTO = new StoreXinFaDetailRequestDTO(0, 10, pointId); String responseBody = null; @@ -304,10 +307,14 @@ public class XinFaDeviceService { JsonNode rootNode = mapper.readTree(responseBody); // 直接转换整个数组 - return mapper.convertValue( + List list = mapper.convertValue( rootNode.path("data").path("content"), - mapper.getTypeFactory().constructCollectionType(List.class, StoreXinFaDeviceDetail.class) - ); + mapper.getTypeFactory().constructCollectionType(List.class, StoreXinFaDeviceDetail.class)); + if (CollectionUtils.isEmpty(list)){ + //如果网店没有设备 清除缓存 + redisUtilPool.hashDel(RedisConstant.HUO_MA_STORE_ID, storeNum); + } + return list; }catch (Exception e){ log.error("getStoreXinFaDeviceDetailByPointId解析获取data失败,url:{},responseBody:{}",huoMaTokenUrl, responseBody); }