Browse Source

redis取latestValueBO bug

ppt-20260120
review512jwy@163.com 1 month ago
parent
commit
d3dbe13ca0
  1. 11
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java

11
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java

@ -196,11 +196,20 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
List<Object> yCommon = new ArrayList<>();
//** 获取昨日最新数据 **//
String redisKey = Constants.REDIS_BA_STATUS_LATEST_VALUE + DateUtil.getYesterdayInJapan();
boolean cacheExist = redisUtil.existsKey(redisKey);
Object cacheLastValue = redisUtil.HGet(redisKey, lineDataSearchParams.getDeviceId().toLowerCase());
if (null != cacheLastValue) {
try {
LatestValueBO latestValueBO = objectMapper.readValue(JSONObject.toJSONString(cacheLastValue), LatestValueBO.class);
String value = cacheLastValue.toString();
// 如果是被双引号包住的 JSON(双层 JSON)
if (value.startsWith("\"")) {
value = objectMapper.readValue(value, String.class);
}
LatestValueBO latestValueBO = objectMapper.readValue(value, LatestValueBO.class);
String dateFormatted = Instant.ofEpochMilli(latestValueBO.getUpdateTs())
.atZone(Constants.ZONE_TOKYO)
.format(Constants.FORMATTER_YMDHMS);

Loading…
Cancel
Save