From 5f3db406212c961daffdb55d76547d3733c7e805 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 08 十月 2024 14:28:08 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 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 10f849d..dcc55cb 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
@@ -650,6 +650,9 @@
 		//执行5分钟的定时任务检测
 		ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 		scheduler.scheduleAtFixedRate(()->{
+			//获取安全校验
+			
+			
 			List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
 			System.err.println("-------------------开始检查调起充电结果-------------------");
 			System.err.println(data.toString());
@@ -659,10 +662,9 @@
 				Integer failure_cause = platformStartChargingReply.getFailure_cause();
 				Integer counter = counter_map.get(code);
 				PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
-				//状态为5的时候,硬件会间隔60秒后再次检测,依然未插枪,则不启动充电
-				//因这里是间隔5秒执行检测,所以累计次数在30次以上
-				if(failure_cause == 5 && (null == counter || counter < 35)){
-					counter++;
+				//5分钟内还未插枪则取消充电,退回金额。
+				if(failure_cause == 5 && (null == counter || counter < 300)){
+					counter = (null == counter ? 0 : counter) + 1;
 					counter_map.put(code, counter);
 					//启动失败
 					preChargeCheck1.setStartupSuccess(3);
@@ -670,9 +672,9 @@
 					redisService.setCacheObject(key, preChargeCheck1);
 					return;
 				}
+				
 				//清除计时器中的无效数据
 				counter_map.remove(code);
-				//开始处理退款
 				TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code));
 				if(0 == startup_result){
 					//启动失败
@@ -683,6 +685,7 @@
 					order.setStatus(-1);
 					order.setEndMode(0);
 				}else{
+					//启动成功
 					preChargeCheck1.setStartupSuccess(2);
 					order.setStatus(3);
 					order.setStartTime(LocalDateTime.now());
@@ -691,8 +694,10 @@
 				redisService.setCacheObject(key, preChargeCheck1);
 				//提前结束定时任务
 				scheduler.shutdown();
+			}else{
+				log.error("未上传开启充电结果........");
 			}
-		}, 5000, 300, TimeUnit.MILLISECONDS);
+		}, 5, 1, TimeUnit.SECONDS);
 		return AjaxResult.success();
 	}
 	
@@ -946,6 +951,9 @@
 					throw new RuntimeException(failure_cause);
 				}
 
+				// 将枪状态重置为空闲
+				chargingGun.setStatus(2);
+				chargingGunClient.updateChargingGunById(chargingGun);
 				//计算费用,处理退款
 				endCharge(chargingOrder);
 				break;

--
Gitblit v1.7.1