From 0911dabe2e8dff4d79c1243d2d613600b3eeeb4d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 08 七月 2026 16:00:34 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 25 ++++++++++++++++++-------
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java | 9 +++++++++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 5 +++++
3 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index edce79f..438247f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -33,6 +33,7 @@
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.dto.ChargingStatisticeDTO;
import com.ruoyi.order.api.model.*;
import com.ruoyi.order.api.query.ChargingOrderQuery;
@@ -827,6 +828,10 @@
@ResponseBody
@PostMapping(value = "/refund")
public R refund(@RequestParam(value = "code") String code){
+ List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code);
+ if(!dataByOrderCode.isEmpty()){
+ return R.fail("订单有充电数据,无法全额退款");
+ }
chargingOrderService.refund(code);
return R.ok();
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 6756bd9..ac69b53 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1057,7 +1057,7 @@
log.info(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
Site site = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData().get(0);
if (!data.isEmpty()) {
- PlatformStartChargingReply platformStartChargingReply = data.get(1);
+ PlatformStartChargingReply platformStartChargingReply = data.get(0);
Integer startup_result = platformStartChargingReply.getStartup_result();
Integer failure_cause = platformStartChargingReply.getFailure_cause();
Integer counter = counter_map.get(code);
@@ -1082,8 +1082,11 @@
chargingOrder.setStatus(2);
chargingOrder.setEndMode(0);
this.updateById(chargingOrder);
- //启动失败后取消订单,退款操作
- refund(code);
+ List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code);
+ if(dataByOrderCode.isEmpty()){
+ //启动失败后取消订单,退款操作
+ refund(code);
+ }
} else {
//启动成功
preChargeCheck1.setStartupSuccess(2);
@@ -1167,8 +1170,11 @@
order.setStatus(2);
order.setEndMode(0);
this.updateById(order);
- //启动失败后取消订单,退款操作
- refund(code);
+ List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code);
+ if(dataByOrderCode.isEmpty()){
+ //启动失败后取消订单,退款操作
+ refund(code);
+ }
redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
//推送三方平台订单状态
if (2 == chargingOrder.getOrderSource() && 1 == site.getIsOpenSynchronization()) {
@@ -1236,8 +1242,13 @@
order.setStatus(2);
order.setEndMode(0);
this.updateById(order);
- //启动失败后取消订单,退款操作
- refund(code);
+
+
+ List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code);
+ if(dataByOrderCode.isEmpty()){
+ //启动失败后取消订单,退款操作
+ refund(code);
+ }
} else {
//启动成功
preChargeCheck1.setStartupSuccess(2);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
index 173f3da..8e6fcaf 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -319,6 +319,15 @@
order.setStatus(-1);
chargingOrderService.updateById(order);
}
+ }else{
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ LocalDateTime dateTime = LocalDateTime.parse(sdf.format(dataByOrderCode.get(0).getCreate_time()), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()));
+ if(dateTime.plusMinutes(30).isBefore(LocalDateTime.now())){
+ order.setStartTime(LocalDateTime.parse(sdf.format(dataByOrderCode.get(dataByOrderCode.size() - 1).getCreate_time()), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault())));
+ order.setEndTime(dateTime);
+ order.setStatus(4);
+ chargingOrderService.updateById(order);
+ }
}
}
--
Gitblit v1.7.1