From fe2e226da5a7505b343517e828f0d8c3a496fb7a Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 28 八月 2024 16:23:50 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 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 196a5ce..d38e967 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
@@ -22,7 +22,9 @@
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.integration.api.feignClient.ChargingHandshakeClient;
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
+import com.ruoyi.integration.api.model.ChargingHandshake;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
@@ -100,6 +102,8 @@
 	@Resource
 	private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
 	
+	@Resource
+	private ChargingHandshakeClient chargingHandshakeClient;
 	
 	
 	
@@ -203,7 +207,7 @@
 				map.put("time", time.get(i));
 				//soc
 				map.put("soc", soc.get(i));
-				//电压
+				//功率
 				map.put("power", po.get(i));
 				power.add(map);
 			}
@@ -431,7 +435,6 @@
 		if(null == one){
 			return null;
 		}
-		// todo 需要完善充电实时数据
 		ChargingDetails chargingDetails = new ChargingDetails();
 		chargingDetails.setId(one.getId().toString());
 		TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData();
@@ -440,6 +443,27 @@
 		chargingDetails.setName(site.getName() + "-" + chargingPile.getName());
 		chargingDetails.setCode(one.getCode());
 		chargingDetails.setStatus(one.getStatus());
+		UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(one.getCode()).getData();
+		if(null != data){
+			chargingDetails.setChargeCurrent(data.getOutput_current());
+			chargingDetails.setChargeVoltage(data.getOutput_voltage());
+			BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000));
+			chargingDetails.setChargePower(power);
+			chargingDetails.setCompletionRatio(data.getSoc());
+			chargingDetails.setRemainingChargeTime(data.getTime_remaining());
+			chargingDetails.setChargedDegrees(data.getCharging_degree());
+			chargingDetails.setChargedTime(data.getCumulative_charging_time());
+			chargingDetails.setChargingCost(data.getPaid_amount());
+		}
+		ChargingHandshake chargingHandshake = chargingHandshakeClient.getDataByOrderCode(one.getCode()).getData();
+		if(null != chargingHandshake && null != data && null != one.getAppUserCarId()){
+			BigDecimal bms_battery_capacity = chargingHandshake.getBms_battery_capacity();
+			TAppUserCar appUserCar = appUserCarClient.getCarByIds(Arrays.asList(one.getAppUserCarId())).getData().get(0);
+			//   续航 = 电池容量 / 续航里程 * soc
+			BigDecimal divide = bms_battery_capacity.divide(new BigDecimal(appUserCar.getEndurance()));
+			BigDecimal multiply = new BigDecimal(data.getSoc() / 100).multiply(divide);
+			chargingDetails.setEndurance(multiply);
+		}
 		return chargingDetails;
 	}
 	

--
Gitblit v1.7.1