diff --git a/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java b/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java index 5f8c52cc3..5aba0fb3e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java @@ -7,6 +7,7 @@ import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.AgentDev.AuditStatusEnum; +import com.jsowell.common.util.DictUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.http.HttpUtils; import com.jsowell.common.util.wxplatform.AesException; @@ -283,6 +284,9 @@ public class AgentDevService { // 如果没有,就通过刷新令牌去重新获取 String refreshTokenKey = CacheConstants.AUTHORIZER_REFRESH_TOKEN + authAppId; String refreshToken = redisCache.getCacheObject(refreshTokenKey); + if (StringUtils.isBlank(refreshToken)) { + refreshToken = DictUtils.getDictValue("authorizer_refresh_token", authAppId); + } return getAuthTokenByRefreshToken(authAppId, refreshToken); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index a13c601c9..1ff492a3a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1646,7 +1646,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { if (insert > 0) { // 删除redis中缓存 String pileConnectorCode = transactionCode.substring(0, 16); - String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; + String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; // 删除redis中缓存 redisCache.deleteObject(redisKey); } } catch (Exception e) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java index 1b03c48e5..c9fff6116 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java @@ -1,6 +1,7 @@ package com.jsowell.pile.service.impl; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; @@ -559,6 +560,28 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService { // 保存到redis String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + realTimeMonitorData.getPileConnectorCode() + "_" + realTimeMonitorData.getTransactionCode(); + // 拿到所有数据取出最后一条数据,对比数据变化 + Map map = redisCache.hmget(redisKey); + if (map != null && !map.isEmpty()) { + List keyList = map.keySet().stream() + .map(x -> (String) x) + .sorted(Comparator.reverseOrder()) // 对keyList排序 时间倒序 + .collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(keyList)) { + // index为0是最新的时间 + String lastTime = keyList.get(0); + // 取出最新的数据 + Object lastData = map.get(lastTime); + RealTimeMonitorData data = JSONObject.parseObject((String) lastData, RealTimeMonitorData.class); + if (Objects.nonNull(data)) { + // 如果已充金额相同,则return + if (StringUtils.equals(data.getChargingAmount(), realTimeMonitorData.getChargingAmount())) { + return; + } + } + } + } + // 设置接收到实时数据的时间 Date now = new Date(); realTimeMonitorData.setDateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, now));