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 73ca9c806..c9e29da6a 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 @@ -841,8 +841,16 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { logger.error("解锁卡/vin状态 error,", e); } + // 发送停止充电订阅消息 + sendMsg(orderBasicInfo); + + // 从redis中取出实时记录保存到表中 + realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode(), orderBasicInfo.getOrderCode()); + } + + // uniApp 发送停止充电订阅消息 + private void sendMsg(OrderBasicInfo orderBasicInfo) { try { - // uniApp 发送停止充电订阅消息 WechatSendMsgDTO wechatSendMsgDTO = new WechatSendMsgDTO(); wechatSendMsgDTO.setOrderCode(orderBasicInfo.getOrderCode()); Map resultMap = wxAppletRemoteService.stopChargingSendMsg(wechatSendMsgDTO); @@ -850,13 +858,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } catch (Exception e) { logger.error("小程序发送充电停止推送消息 error", e); } - - try { - realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode(), orderBasicInfo.getOrderCode()); - } catch (Exception e) { - logger.error("redis中取出实时记录保存到表 发生异常", e); - } - } /** @@ -902,49 +903,52 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { */ @Override public void realTimeMonitorDataRedis2DB(String transactionCode, String orderCode) { - if (StringUtils.isBlank(transactionCode) || StringUtils.isBlank(orderCode)) { - return; - } - // 校验有没有保存过 - OrderMonitorData orderMonitorData = orderMonitorDataService.selectByOrderCode(orderCode); - if (orderMonitorData != null) { - return; - } - List chargingRealTimeData = getChargingRealTimeData(transactionCode); - if (CollectionUtils.isEmpty(chargingRealTimeData)) { - return; - } - List list = Lists.newArrayList(); - for (RealTimeMonitorData data : chargingRealTimeData) { - RealTimeMonitorData build = RealTimeMonitorData.builder() - .outputCurrent(data.getOutputCurrent()) - .outputCurrent(data.getOutputCurrent()) // 电流 - .outputVoltage(data.getOutputVoltage()) // 电压 - .outputPower(data.getOutputPower()) // 功率 - .SOC(data.getSOC()) // soc - .dateTime(data.getDateTime()) // 时间 - .batteryMaxTemperature(data.getBatteryMaxTemperature()) - .chargingAmount(data.getChargingAmount()) - .chargingDegree(data.getChargingDegree()) - .sumChargingTime(data.getSumChargingTime()) - .timeRemaining(data.getTimeRemaining()) - .gunLineTemperature(data.getGunLineTemperature()) - .build(); - list.add(build); - } + try { + if (StringUtils.isBlank(transactionCode) || StringUtils.isBlank(orderCode)) { + return; + } + // 校验有没有保存过 + OrderMonitorData orderMonitorData = orderMonitorDataService.selectByOrderCode(orderCode); + if (orderMonitorData != null) { + return; + } + List chargingRealTimeData = getChargingRealTimeData(transactionCode); + if (CollectionUtils.isEmpty(chargingRealTimeData)) { + return; + } + List list = Lists.newArrayList(); + for (RealTimeMonitorData data : chargingRealTimeData) { + RealTimeMonitorData build = RealTimeMonitorData.builder() + .outputCurrent(data.getOutputCurrent()) + .outputCurrent(data.getOutputCurrent()) // 电流 + .outputVoltage(data.getOutputVoltage()) // 电压 + .outputPower(data.getOutputPower()) // 功率 + .SOC(data.getSOC()) // soc + .dateTime(data.getDateTime()) // 时间 + .batteryMaxTemperature(data.getBatteryMaxTemperature()) + .chargingAmount(data.getChargingAmount()) + .chargingDegree(data.getChargingDegree()) + .sumChargingTime(data.getSumChargingTime()) + .timeRemaining(data.getTimeRemaining()) + .gunLineTemperature(data.getGunLineTemperature()) + .build(); + list.add(build); + } - OrderMonitorData record = new OrderMonitorData(); - record.setOrderCode(orderCode); - record.setTransactionCode(transactionCode); - record.setMonitorData(JSONObject.toJSONString(list)); - int insert = orderMonitorDataService.insertSelective(record); - if (insert > 0) { - // 删除redis中缓存 - String pileConnectorCode = transactionCode.substring(0, 16); - String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; - redisCache.deleteObject(redisKey); + OrderMonitorData record = new OrderMonitorData(); + record.setOrderCode(orderCode); + record.setTransactionCode(transactionCode); + record.setMonitorData(JSONObject.toJSONString(list)); + int insert = orderMonitorDataService.insertSelective(record); + if (insert > 0) { + // 删除redis中缓存 + String pileConnectorCode = transactionCode.substring(0, 16); + String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; + redisCache.deleteObject(redisKey); + } + } catch (Exception e) { + logger.info("redis中取出实时记录保存到表发生异常", e); } - } /**