From 66794a3e6b3feb01d4b6ae5710a0725b525a99dd Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 08 十月 2024 15:13:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 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 7ac0582..19512b4 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
@@ -190,6 +190,9 @@
 	
 	@Resource
 	private AppUserTagClient appUserTagClient;
+	
+	@Resource
+	private SecurityDetectionClient securityDetectionClient;
 
 	//计数器
 	private Map<String, Integer> counter_map = new HashMap<>();
@@ -650,6 +653,19 @@
 		//执行5分钟的定时任务检测
 		ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 		scheduler.scheduleAtFixedRate(()->{
+			//获取安全校验
+			SecurityDetection securityDetection = securityDetectionClient.getSecurityDetection(chargingOrder.getCode()).getData();
+			if(null != securityDetection){
+				PreChargeCheck preChargeCheck1 =  redisService.getCacheObject("AQJC_" + chargingOrder.getChargingGunId());
+				if(null != preChargeCheck1){
+					preChargeCheck1.setElectronicLockLock(preChargeCheck1.getElectronicLockLock());
+					preChargeCheck1.setInsulationTesting(true);
+					preChargeCheck1.setSecureConnectionDetection(preChargeCheck1.getSecureConnectionDetection());
+					preChargeCheck1.setStartupSuccess(1);
+					redisService.setCacheObject("AQJC_" + chargingOrder.getChargingGunId(), preChargeCheck1);
+				}
+			}
+			
 			List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
 			System.err.println("-------------------开始检查调起充电结果-------------------");
 			System.err.println(data.toString());
@@ -948,6 +964,9 @@
 					throw new RuntimeException(failure_cause);
 				}
 
+				// 将枪状态重置为空闲
+				chargingGun.setStatus(2);
+				chargingGunClient.updateChargingGunById(chargingGun);
 				//计算费用,处理退款
 				endCharge(chargingOrder);
 				break;
@@ -1207,6 +1226,12 @@
 		for (ChargingOrderVO chargingOrderVO : list) {
 			TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData();
 			TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData();
+			if (chargingOrderVO.getSiteId()!=null){
+				List<Integer> integers = new ArrayList<>();
+				integers.add(chargingOrderVO.getSiteId());
+				List<Site> data = siteClient.getSiteByIds(integers).getData();
+				if (!data.isEmpty())chargingOrderVO.setSiteName(data.get(0).getName());
+			}
 			if (data2!=null && data3!=null){
 				chargingOrderVO.setTerminalName(data2.getName()+"-"+data3.getName());
 
@@ -1222,7 +1247,9 @@
 			// 单个订单累计服务费
 			BigDecimal serviceMoney1 = new BigDecimal("0");
 			UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderVO.getCode()).getData();
-			chargingOrderVO.setChargingSecond(data5.getTime_remaining()*60L);
+			if (data5!=null){
+				chargingOrderVO.setChargingSecond(data5.getTime_remaining()*60L);
+			}
 			// 总收入
 			if (chargingOrderVO.getRefundStatus() !=null && chargingOrderVO.getRefundStatus() == 2){
 				income = income.add(chargingOrderVO.getPaymentAmount().subtract(chargingOrderVO.getRefundAmount()));

--
Gitblit v1.7.1