From 4fe371ae65fec14707e75b4c7a072492d498dbef Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 09 十月 2024 16:14:17 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

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 91c248e..cb3d31e 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
@@ -955,6 +955,9 @@
 	public AjaxResult stopCharging(String id) {
 		TChargingOrder chargingOrder = this.getById(id);
 		Integer status = chargingOrder.getStatus();
+		if(status != 3){
+			return AjaxResult.error("还未开始充电");
+		}
 		if(status == 4 || status == 5){
 			return AjaxResult.error("不能重复操作");
 		}
@@ -1050,7 +1053,12 @@
 					}
 					continue;
 				}
-
+				
+				TChargingOrder chargingOrder1 = this.getById(id);
+				if(chargingOrder1.getStatus() != 3){
+					break;
+				}
+				
 				if(0 == reply.getStop_result()){
 					String failure_cause = "";
 					switch (reply.getFailure_cause()){
@@ -1138,10 +1146,14 @@
 
 		return AjaxResult.success();
 	}
-
-
 	
 	
+	
+	/**
+	 * 停止充电应答结果处理
+	 * @param platformStopChargingReply
+	 */
+	@Override
 	public void terminateSuccessfulResponse(PlatformStopChargingReplyVO platformStopChargingReply){
 		GetChargingGunByCode code = new GetChargingGunByCode();
 		code.setCharging_gun_code(platformStopChargingReply.getCharging_gun_code());
@@ -1149,7 +1161,7 @@
 		TChargingGun chargingGun = chargingGunClient.getChargingGunByCode(code).getData();
 		TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getChargingGunId, chargingGun.getId())
 				.orderByDesc(TChargingOrder::getEndTime).eq(TChargingOrder::getRechargePaymentStatus, 2).last(" limit 0, 1"));
-		if(order.getStatus() != 3){
+		if(null != order && order.getStatus() != 3){
 			return;
 		}
 		String code1 = order.getCode();
@@ -1178,7 +1190,6 @@
 		chargingGunClient.updateChargingGunById(chargingGun);
 		//计算费用,处理退款
 		endCharge(order);
-		log.error(code1 + ":-------------------远程停止充电请求成功-------------------");
 	}
 	
 	

--
Gitblit v1.7.1