From a155690a38eb156a4dbef88452b3d5decc833e77 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 24 一月 2025 15:27:41 +0800
Subject: [PATCH] 新增引流接口及业务逻辑

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 45 insertions(+), 2 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 d30ab60..c10feaf 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
@@ -32,6 +32,7 @@
 import com.ruoyi.integration.api.feignClient.*;
 import com.ruoyi.integration.api.model.*;
 import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
+import com.ruoyi.integration.api.vo.StartChargeResult;
 import com.ruoyi.order.api.dto.SettlementConfirmAdd;
 import com.ruoyi.order.api.feignClient.AccountingStrategyDetailOrderClient;
 import com.ruoyi.order.api.feignClient.AccountingStrategyOrderClient;
@@ -141,7 +142,7 @@
 	private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
 	
 	@Resource
-	private ChargingHandshakeClient chargingHandshakeClient;
+	private TCECClient tcecClient;
 
 	@Resource
 	private SendMessageClient sendMessageClient;
@@ -747,6 +748,10 @@
 			}
 			this.updateById(order);
 			redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
+			//推送三方平台订单状态
+			if(2 == chargingOrder.getOrderSource()){
+				tcecClient.notificationEquipChargeStatus(chargingOrder.getStartChargeSeq(), chargingOrder.getOperatorId());
+			}
 			return true;
 		}else{
 			Integer counter = boot_failed_map.get(code);
@@ -777,6 +782,10 @@
 			order.setEndMode(0);
 			this.updateById(order);
 			redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
+			//推送三方平台订单状态
+			if(2 == chargingOrder.getOrderSource()){
+				tcecClient.notificationEquipChargeStatus(chargingOrder.getStartChargeSeq(), chargingOrder.getOperatorId());
+			}
 			return true;
 		}
 	}
@@ -836,9 +845,24 @@
 			TChargingGun chargingGun = chargingGunClient.getChargingGunById(order.getChargingGunId()).getData();
 			chargingGun.setStatus(4);
 			chargingGunClient.updateChargingGunById(chargingGun);
+			//推送状态给三方平台
+			tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus());
 		}
 		redisService.setCacheObject("AQJC_" + order.getChargingGunId(), preChargeCheck1, 24L, TimeUnit.HOURS);
 		this.updateById(order);
+		//推送三方平台启动充电结果
+		if(2 == order.getOrderSource()){
+			StartChargeResult result = new StartChargeResult();
+			result.setStartChargeSeq(order.getStartChargeSeq());
+			result.setStartChargeSeqStat(3 == order.getStatus() ? 2 : 4);
+			result.setConnectorID(order.getChargingGunId().toString());
+			result.setStartTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+			Operator operator = operatorClient.getOperatorById(order.getOperatorId()).getData();
+			result.setOperatorID(operator.getOperatorId());
+			tcecClient.notificationStartChargeResult(result);
+			
+			tcecClient.notificationEquipChargeStatus(order.getStartChargeSeq(), order.getOperatorId());
+		}
 	}
 	
 	/**
@@ -1003,7 +1027,6 @@
 		chargingOrder.setStatus(4);
 		chargingOrder.setEndMode(1);
 		this.updateById(chargingOrder);
-		
 		String code1 = order.getCode();
 		TChargingGun chargingGun = chargingGunClient.getChargingGunById(order.getChargingGunId()).getData();
 		//异步线程处理停机
@@ -1018,6 +1041,11 @@
 			log.info(code1 + ":-------------------远程停止充电请求-------------------");
 			log.info(platformStopCharging.toString());
 		});
+		//推送三方平台
+		if(2 == order.getOrderSource()){
+			tcecClient.notificationEquipChargeStatus(order.getStartChargeSeq(), order.getOperatorId());
+		}
+		
 		return AjaxResult.success();
 	}
 	
@@ -2256,6 +2284,14 @@
 		this.updateById(order);
 		chargingOrder = this.getById(order.getId());
 		
+		//推送三方平台
+		if(2 == chargingOrder.getOrderSource()){
+			tcecClient.notificationEquipChargeStatus(chargingOrder.getStartChargeSeq(), chargingOrder.getOperatorId());
+			tcecClient.notificationStopChargeResult(chargingOrder.getStartChargeSeq(), chargingOrder.getChargingGunId().toString(),
+					chargingOrder.getOperatorId());
+			tcecClient.notificationChargeOrderInfo(chargingOrder.getStartChargeSeq(), chargingOrder.getOperatorId());
+		}
+		
 		//开始将优惠券优惠的金额添加到明细中
 		BigDecimal couponDiscountAmount = order.getCouponDiscountAmount();
 		if(null != couponDiscountAmount && couponDiscountAmount.compareTo(BigDecimal.ZERO) > 0){
@@ -2277,6 +2313,8 @@
 		chargingGun.setStatus(2);
 		chargingGun.setChargingPower(BigDecimal.ZERO);
 		chargingGunClient.updateChargingGunById(chargingGun);
+		//推送状态给三方平台
+		tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus());
 		
 		//添加积分
 		TIntegralRule integralRule = integralRuleClient.getSet().getData();
@@ -4074,6 +4112,9 @@
 				scheduler.shutdown();
 			}
 		}, 5, 1, TimeUnit.SECONDS);
+		
+		//推送三方平台订单状态
+		tcecClient.notificationEquipChargeStatus(chargingOrder.getStartChargeSeq(), chargingOrder.getOperatorId());
 		return R.ok();
 	}
 	
@@ -4101,6 +4142,8 @@
 		chargingOrder.setEndMode(1);
 		this.updateById(chargingOrder);
 		
+		tcecClient.notificationEquipChargeStatus(order.getStartChargeSeq(), order.getOperatorId());
+		
 		String code1 = order.getCode();
 		TChargingGun chargingGun = chargingGunClient.getChargingGunById(order.getChargingGunId()).getData();
 		//异步线程处理停机

--
Gitblit v1.7.1