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

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                        |   15 ++++++++++++++-
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java      |    8 +++++++-
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java |    6 +++++-
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java            |   16 ++++++++++++++--
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java           |   15 +++++++++++++--
 5 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java
index 4113e9a..5445dd3 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java
@@ -1,10 +1,12 @@
 package com.ruoyi.integration.api.factory;
 
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.integration.api.feignClient.SecurityDetectionClient;
 import com.ruoyi.integration.api.feignClient.SendMessageClient;
 import com.ruoyi.integration.api.model.PlatformStartCharging;
 import com.ruoyi.integration.api.model.PlatformStopCharging;
 import com.ruoyi.integration.api.model.QrCodeDelivery;
+import com.ruoyi.integration.api.model.SecurityDetection;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
@@ -23,7 +25,11 @@
     public SecurityDetectionClient create(Throwable throwable) {
         log.error("调用失败:{}", throwable.getMessage());
         return new SecurityDetectionClient() {
-        
+    
+            @Override
+            public R<SecurityDetection> getSecurityDetection(String transactionSerialNumber) {
+                return R.fail("获取安全检测数据失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java
index 6d127f9..ba6bf09 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java
@@ -1,8 +1,12 @@
 package com.ruoyi.integration.api.feignClient;
 
 import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.integration.api.factory.SecurityDetectionFallbackFactory;
+import com.ruoyi.integration.api.model.SecurityDetection;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * @author zhibing.pu
@@ -10,6 +14,13 @@
  */
 @FeignClient(contextId = "SecurityDetectionClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = SecurityDetectionFallbackFactory.class)
 public interface SecurityDetectionClient {
-
-
+	
+	
+	/**
+	 * 获取安全检测数据
+	 * @param transactionSerialNumber
+	 * @return
+	 */
+	@PostMapping("/securityDetection/getSecurityDetection")
+	R<SecurityDetection> getSecurityDetection(@RequestParam("transactionSerialNumber") String transactionSerialNumber);
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java
index b5ab6e4..618b007 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java
@@ -1,7 +1,11 @@
 package com.ruoyi.integration.controller;
 
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.integration.api.model.SecurityDetection;
 import com.ruoyi.integration.mongodb.service.SecurityDetectionService;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -17,6 +21,14 @@
 	@Resource
 	private SecurityDetectionService securityDetectionService;
 	
-	
-	
+	/**
+	 * 获取安全检测数据
+	 * @param transactionSerialNumber
+	 * @return
+	 */
+	@PostMapping("/getSecurityDetection")
+	public R<SecurityDetection> getSecurityDetection(@RequestParam("transactionSerialNumber") String transactionSerialNumber){
+		SecurityDetection securityDetection = securityDetectionService.getSecurityDetection(transactionSerialNumber);
+		return R.ok(securityDetection);
+	}
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java
index 061e367..b7963bb 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java
@@ -5,6 +5,8 @@
 import com.ruoyi.integration.mongodb.service.SecurityDetectionService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -41,6 +43,8 @@
      */
     @Override
     public SecurityDetection getSecurityDetection(String transactionSerialNumber) {
-        return null;
+        List<SecurityDetection> securityDetectionList = mongoTemplate.find(new Query().addCriteria(Criteria.where("transaction_serial_number")
+                .is(transactionSerialNumber)), SecurityDetection.class);
+        return securityDetectionList.size() > 0 ? securityDetectionList.get(0) : null;
     }
 }
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 dcc55cb..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<>();
@@ -651,7 +654,17 @@
 		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("-------------------开始检查调起充电结果-------------------");

--
Gitblit v1.7.1