From 8e9436877856a8cbca0eb90c17f7035c9e525db6 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 11 十月 2024 11:17:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   24 +++++++++++++++++++-----
 1 files changed, 19 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..f479f12 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
@@ -627,6 +627,9 @@
 				}
 			}
 		}
+		
+		electrovalence = electrovalence.setScale(2, RoundingMode.HALF_EVEN);
+		discountAmount = discountAmount.setScale(2, RoundingMode.HALF_EVEN);
 		chargingOrder.setChargeAmount(electrovalence);
 		chargingOrder.setVipDiscountAmount(discountAmount);
 		this.updateById(chargingOrder);
@@ -955,6 +958,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 +1056,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 +1149,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 +1164,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 +1193,6 @@
 		chargingGunClient.updateChargingGunById(chargingGun);
 		//计算费用,处理退款
 		endCharge(order);
-		log.error(code1 + ":-------------------远程停止充电请求成功-------------------");
 	}
 	
 	

--
Gitblit v1.7.1