From 9bc378e6bb9b4563a0dec222e1c2d5d3278632cb Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 17 九月 2025 17:41:54 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java |   73 ++++++++++++++++--------------------
 1 files changed, 32 insertions(+), 41 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
index a4bf52b..2be7fa8 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -5,6 +5,7 @@
 import com.alibaba.nacos.common.utils.JacksonUtils;
 import com.ruoyi.chargingPile.api.feignClient.*;
 import com.ruoyi.chargingPile.api.model.*;
+import com.ruoyi.chargingPile.api.vo.GetChargingGunByChargingPileIdsVo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -150,31 +151,7 @@
 		}
 		return baseResult;
 	}
-	public BaseResult requestCheckJianGuan(Boolean tokenCheck, BaseRequest baseRequest, HttpServletRequest request){
-		Operator operator = new Operator();
-		BaseResult baseResult = new BaseResult();
-		baseResult.setRet(0);
-		baseResult.setMsg("成功");
-		baseResult.setOperatorID(baseRequest.getOperatorID());
-		operator.setOperatorId(baseRequest.getOperatorID());
-		Long mapKey = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-		baseResult.setTimeStamp(mapKey);
-		baseResult.setSeq("0001");
-		//校验token和签名
-		String operatorID = baseRequest.getOperatorID();
-		String sig = baseRequest.getSig();
-		Long timeStamp = baseRequest.getTimeStamp();
-		String data = baseRequest.getData();
-		String seq = baseRequest.getSeq();
-		baseResult.setOperator(operator);
-		if(StringUtils.isEmpty(operatorID) || StringUtils.isEmpty(sig) || StringUtils.isEmpty(data) || StringUtils.isEmpty(seq) || null == timeStamp){
-			baseResult.setRet(4003);
-			baseResult.setMsg("参数异常");
-			return baseResult;
-		}
-		return baseResult;
-	}
-	
+
 	
 	
 	
@@ -348,7 +325,9 @@
 		List<Integer> siteIds = sites.stream().map(Site::getId).collect(Collectors.toList());
 		List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
 		List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
-		List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
+		GetChargingGunByChargingPileIdsVo vo = new GetChargingGunByChargingPileIdsVo();
+		vo.setChargingPileIds(collect1);
+		List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(vo).getData();
 		String serviceTel = systemConfigurationClient.getServerPhone().getData();
 		List<StationInfo> StationInfos = new ArrayList<>();
 		for (Site datum : sites) {
@@ -399,8 +378,8 @@
 			stationInfo.setCountryCode(StringUtils.isNotEmpty(datum.getCountryCode()) ? datum.getCountryCode() : "CN");
 			stationInfo.setAreaCode(datum.getDistrictsCode());
 			stationInfo.setAddress(datum.getAddress());
-			stationInfo.setStationTel(datum.getPhone());
-			stationInfo.setServiceTel(serviceTel);
+			stationInfo.setStationTel(StringUtils.isNotEmpty(serviceTel) ? serviceTel.split(",")[0] : "");
+			stationInfo.setServiceTel(StringUtils.isNotEmpty(serviceTel) ? serviceTel.split(",")[0] : "");
 			switch (datum.getSiteType()){
 				case 0:
 					stationInfo.setStationType(StationTypeEnum.OTHER.getType());
@@ -588,7 +567,7 @@
 	 * @return
 	 */
 	@PostMapping("/pushChargingGunStatus")
-	public R pushChargingGunStatus(@RequestParam("fullNumber") String fullNumber, @RequestParam("status") Integer status){
+	public R pushChargingGunStatus(@RequestParam(value = "fullNumber") String fullNumber, @RequestParam(value = "status") Integer status){
 		ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo();
 		connectorStatusInfo.setConnectorID(fullNumber);
 		switch (status){
@@ -651,7 +630,9 @@
 		List<Integer> siteIds = data.stream().map(Site::getId).collect(Collectors.toList());
 		List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
 		List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
-		List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
+		GetChargingGunByChargingPileIdsVo vo = new GetChargingGunByChargingPileIdsVo();
+		vo.setChargingPileIds(collect1);
+		List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(vo).getData();
 		
 		QueryStationStatusResult result = new QueryStationStatusResult();
 		result.setTotal(data.size());
@@ -1245,17 +1226,23 @@
 		queryEquipChargeStatusResult.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 		queryEquipChargeStatusResult.setTotalPower(chargingOrder.getElectricity());
 		
+		
 		List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
 		if(data.size() > 0){
 			BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
 			BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN);
 			queryEquipChargeStatusResult.setElecMoney(totalElectricity);
 			queryEquipChargeStatusResult.setSeviceMoney(serviceCharge);
-			queryEquipChargeStatusResult.setTotalMoney(chargingOrder.getPaymentAmount());
-		}else{
+			queryEquipChargeStatusResult.setTotalMoney(totalMoney);
+		}else if(null != chargingOrder.getRechargeAmount() && null != chargingOrder.getResidualAmount()){
 			queryEquipChargeStatusResult.setElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount()));
 			queryEquipChargeStatusResult.setSeviceMoney(BigDecimal.ZERO);
 			queryEquipChargeStatusResult.setTotalMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount()));
+		}else{
+			queryEquipChargeStatusResult.setElecMoney(BigDecimal.ZERO);
+			queryEquipChargeStatusResult.setSeviceMoney(BigDecimal.ZERO);
+			queryEquipChargeStatusResult.setTotalMoney(BigDecimal.ZERO);
 		}
 		
 		//构建充电明细
@@ -1282,7 +1269,7 @@
 			}
 			chargeDetail.setElecPrice(datum.getElectrovalence());
 			chargeDetail.setSevicePrice(datum.getServiceCharge());
-			chargeDetail.setDetailPower(datum.getChargingCapacity());
+			chargeDetail.setDetailPower(datum.getChargingCapacity().setScale(2, BigDecimal.ROUND_HALF_UP));
 			chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
 			chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
 			chargeDetails.add(chargeDetail);
@@ -1489,6 +1476,7 @@
 		notificationChargeOrderInfo.setStartChargeSeq(startChargeSeq);
 		TChargingOrder chargingOrder = chargingOrderClient.getChargingOrderByStartChargeSeq(startChargeSeq).getData();
 		if(null == chargingOrder){
+			log.info("三方平台流水号获取订单失败");
 			return null;
 		}
 		TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
@@ -1499,11 +1487,12 @@
 		
 		List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
 		if(data.size() > 0){
-			BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
-			BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
-			notificationChargeOrderInfo.setTotalElecMoney(totalElectricity.setScale(2, RoundingMode.HALF_EVEN));
-			notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge.setScale(2, RoundingMode.HALF_EVEN));
-			notificationChargeOrderInfo.setTotalMoney(chargingOrder.getPaymentAmount());
+			BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN);
+			BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN);
+			BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN);
+			notificationChargeOrderInfo.setTotalElecMoney(totalElectricity);
+			notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge);
+			notificationChargeOrderInfo.setTotalMoney(totalMoney);
 		}else{
 			notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount()));
 			notificationChargeOrderInfo.setTotalSeviceMoney(BigDecimal.ZERO);
@@ -1556,7 +1545,7 @@
 			}
 			chargeDetail.setElecPrice(datum.getElectrovalence());
 			chargeDetail.setSevicePrice(datum.getServiceCharge());
-			chargeDetail.setDetailPower(datum.getChargingCapacity());
+			chargeDetail.setDetailPower(datum.getChargingCapacity().setScale(2, BigDecimal.ROUND_HALF_UP));
 			chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
 			chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
 			chargeDetails.add(chargeDetail);
@@ -1751,7 +1740,7 @@
 				}
 				chargeDetail.setElecPrice(datum.getElectrovalence());
 				chargeDetail.setSevicePrice(datum.getServiceCharge());
-				chargeDetail.setDetailPower(datum.getChargingCapacity());
+				chargeDetail.setDetailPower(datum.getChargingCapacity().setScale(2, BigDecimal.ROUND_HALF_EVEN));
 				chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
 				chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
 				chargeDetails.add(chargeDetail);
@@ -1888,7 +1877,9 @@
 		List<TChargingPile> chargingPiles = chargingPileClient.getChargingPileBySiteIds(stationIDList).getData();
 		if(!CollectionUtils.isEmpty(chargingPiles)){
 			List<Integer> pileIds = chargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
-			List<TChargingGun> chargingGuns = chargingGunClient.getChargingGunByChargingPileIds(pileIds).getData();
+			GetChargingGunByChargingPileIdsVo vo = new GetChargingGunByChargingPileIdsVo();
+			vo.setChargingPileIds(pileIds);
+			List<TChargingGun> chargingGuns = chargingGunClient.getChargingGunByChargingPileIds(vo).getData();
 			if(!CollectionUtils.isEmpty(chargingGuns)){
 				for (Integer stationID : stationIDList) {
 					StationStatusInfo stationStatusInfo = new StationStatusInfo();

--
Gitblit v1.7.1