From 5e6b9cdb9cdf8c9362491b337a4e15bf1a107125 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 10 二月 2025 11:14:21 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java index f3f6243..11e81bc 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java @@ -32,9 +32,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -976,6 +974,22 @@ } }); } + + //定义定时任务推送订单状态 + ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); + Runnable task = new Runnable() { + @Override + public void run() { + TChargingOrder chargingOrder = chargingOrderClient.getChargingOrderByStartChargeSeq(result.getStartChargeSeq()).getData(); + if(null == chargingOrder || chargingOrder.getStatus() != 3){ + scheduler.shutdown(); + return; + } + notificationEquipChargeStatus(result.getStartChargeSeq(), operator.getId()); + } + }; + //一分钟执行一次 + scheduler.scheduleAtFixedRate(task, 1, 1, TimeUnit.MINUTES); return R.ok(); } @@ -1079,7 +1093,7 @@ queryEquipChargeStatusResult.setVoltageA(chargingOrder.getVoltage()); queryEquipChargeStatusResult.setSoc(chargingOrder.getTotalElectricity()); queryEquipChargeStatusResult.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - queryEquipChargeStatusResult.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + queryEquipChargeStatusResult.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); queryEquipChargeStatusResult.setTotalPower(chargingOrder.getElectricity()); queryEquipChargeStatusResult.setElecMoney(chargingOrder.getTotalElectricity()); queryEquipChargeStatusResult.setSeviceMoney(chargingOrder.getServiceCharge()); @@ -1090,7 +1104,7 @@ List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData(); LocalDateTime startTime = chargingOrder.getStartTime(); - LocalDateTime endTime = chargingOrder.getEndTime(); + LocalDateTime endTime = null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime(); String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); for (TChargingOrderAccountingStrategy datum : data) { @@ -1126,7 +1140,7 @@ * @return */ @PostMapping("/notificationEquipChargeStatus") - public R notificationEquipChargeStatus(@RequestParam("startChargeSeq") String startChargeSeq, @RequestParam("operatorId") Integer operatorId){ + public R notificationEquipChargeStatus(@RequestParam(value = "startChargeSeq") String startChargeSeq, @RequestParam(value = "operatorId") Integer operatorId){ QueryEquipChargeStatusResult queryEquipChargeStatusResult = buildQueryEquipChargeStatusResult(startChargeSeq); Operator operator = operatorClient.getOperatorById(operatorId).getData(); NotificationEquipChargeStatusResult notificationEquipChargeStatusResult = TCECUtil.notificationEquipChargeStatus(operator, queryEquipChargeStatusResult); @@ -1321,7 +1335,7 @@ } notificationChargeOrderInfo.setConnectorID(chargingOrder.getChargingGunId().toString()); notificationChargeOrderInfo.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - notificationChargeOrderInfo.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + notificationChargeOrderInfo.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); notificationChargeOrderInfo.setTotalPower(chargingOrder.getElectricity()); notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getTotalElectricity()); notificationChargeOrderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge()); @@ -1353,7 +1367,7 @@ List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData(); LocalDateTime startTime = chargingOrder.getStartTime(); - LocalDateTime endTime = chargingOrder.getEndTime(); + LocalDateTime endTime = null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime(); String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); for (TChargingOrderAccountingStrategy datum : data) { @@ -1519,7 +1533,7 @@ orderInfo.setStartChargeSeq(chargingOrder.getStartChargeSeq()); orderInfo.setConnectorID(chargingOrder.getChargingGunId().toString()); orderInfo.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - orderInfo.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + orderInfo.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); orderInfo.setTotalPower(chargingOrder.getTotalElectricity()); orderInfo.setTotalElecMoney(chargingOrder.getElectrovalence()); orderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge()); @@ -1544,7 +1558,7 @@ List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData(); LocalDateTime startTime = chargingOrder.getStartTime(); - LocalDateTime endTime = chargingOrder.getEndTime(); + LocalDateTime endTime = null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime(); String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); for (TChargingOrderAccountingStrategy datum : data) { -- Gitblit v1.7.1