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 f95f78efd..3e91b6373 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 @@ -692,6 +692,26 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } catch (Exception e) { logger.error("小程序发送充电停止推送消息 error", e); } + + realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode()); + } + + /** + * 从redis中取出实时记录保存到表中 + * 当订单完成的时候调用 + */ + private void realTimeMonitorDataRedis2DB(String transactionCode) { + if (StringUtils.isBlank(transactionCode)) { + return; + } + + + List chargingRealTimeData = getChargingRealTimeData(transactionCode); + + // 删除redis中缓存 + String pileConnectorCode = transactionCode.substring(0, 16); + String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; + redisCache.deleteObject(redisKey); } @Override diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index be7b3c4b0..bda70444c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -467,8 +467,8 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService { pileConnectorInfoVO.setChargingTime(realTimeMonitorData.getSumChargingTime()); // 已充时长 // 计算实时功率(单位:kw) BigDecimal instantPowerTemp = outputVoltage.multiply(outputCurrent); - BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000)); - pileConnectorInfoVO.setInstantPower(instantPower.setScale(2, BigDecimal.ROUND_HALF_UP)); + BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP); + pileConnectorInfoVO.setInstantPower(instantPower); log.info("枪口实时数据:{}", JSONObject.toJSONString(pileConnectorInfoVO)); }