From f87ad18f9c3175cee155c4f0c06302369ec7ea9d Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 18 四月 2025 09:24:26 +0800
Subject: [PATCH] 临时屏蔽监管上传代码,暂停使用消息队列

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |  154 ++++++++++++++++++++-------------------------------
 1 files changed, 61 insertions(+), 93 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 13328ff..f1501af 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
@@ -731,7 +731,7 @@
 			Integer counter = counter_map.get(code);
 			PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
 			//5分钟内还未插枪则取消充电,退回金额。
-			if(failure_cause == 5 && (null == counter || counter < 300)){
+			if(failure_cause == 5 && (null == counter || counter < 1800)){
 				counter = (null == counter ? 0 : counter) + 1;
 				counter_map.put(code, counter);
 				//启动失败
@@ -772,7 +772,7 @@
 			log.info(code + ":-------------------未上传开启充电结果-------------------" + counter);
 			PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
 			//5分钟内未启动成功,退回金额。
-			if(null == counter || counter < 300){
+			if(null == counter || counter < 1800){
 				counter = (null == counter ? 0 : counter) + 1;
 				boot_failed_map.put(code, counter);
 				//启动失败
@@ -1819,48 +1819,24 @@
 				for (TChargingOrderAccountingStrategy temp : list2) {
 					switch (temp.getType()){
 						case 1:
-							if (temp.getChargingCapacity()!=null){
-								jian = jian.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								jianElectronic = jianElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								jianService = jianService.add(temp.getServiceCharge());
-							}
+							jian = jian.add(temp.getChargingCapacity());
+							jianElectronic = jianElectronic.add(temp.getPeriodElectricPrice()).add(temp.getPeriodServicePrice());
+							jianService = jianService.add(temp.getPeriodServicePrice());
 							break;
 						case 2:
-							if (temp.getChargingCapacity()!=null){
-								feng = feng.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								fengElectronic = fengElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								fengService = fengService.add(temp.getServiceCharge());
-							}
+							feng = feng.add(temp.getChargingCapacity());
+							fengElectronic = fengElectronic.add(temp.getPeriodElectricPrice()).add(temp.getPeriodServicePrice());
+							fengService = fengService.add(temp.getPeriodServicePrice());
 							break;
 						case 3:
-							if (temp.getChargingCapacity()!=null){
-								ping = ping.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								pingElectronic = pingElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								pingService = pingService.add(temp.getServiceCharge());
-							}
+							ping = ping.add(temp.getChargingCapacity());
+							pingElectronic = pingElectronic.add(temp.getPeriodElectricPrice()).add(temp.getPeriodServicePrice());
+							pingService = pingService.add(temp.getPeriodServicePrice());
 							break;
 						case 4:
-							if (temp.getChargingCapacity()!=null){
-								gu = gu.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								guElectronic = guElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								guService = guService.add(temp.getServiceCharge());
-							}
+							gu = gu.add(temp.getChargingCapacity());
+							guElectronic = guElectronic.add(temp.getPeriodElectricPrice()).add(temp.getPeriodServicePrice());
+							guService = guService.add(temp.getPeriodServicePrice());
 							break;
 					}
 				}
@@ -1868,50 +1844,27 @@
 				List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId()))
 						.collect(Collectors.toList());
 				for (TChargingOrderAccountingStrategy temp : list2) {
+					BigDecimal multiply = temp.getPeriodServicePrice().multiply(new BigDecimal("0.8"));
 					switch (temp.getType()){
 						case 1:
-							if (temp.getChargingCapacity()!=null){
-								jian = jian.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								jianElectronic = jianElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								jianService = jianService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
-							}
+							jian = jian.add(temp.getChargingCapacity());
+							jianElectronic = jianElectronic.add(temp.getPeriodElectricPrice()).add(multiply);
+							jianService = jianService.add(multiply);
 							break;
 						case 2:
-							if (temp.getChargingCapacity()!=null){
-								feng = feng.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								fengElectronic = fengElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								fengService = fengService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
-							}
+							feng = feng.add(temp.getChargingCapacity());
+							fengElectronic = fengElectronic.add(temp.getPeriodElectricPrice()).add(multiply);
+							fengService = fengService.add(multiply);
 							break;
 						case 3:
-							if (temp.getChargingCapacity()!=null){
-								ping = ping.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								pingElectronic = pingElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								pingService = pingService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
-							}
+							ping = ping.add(temp.getChargingCapacity());
+							pingElectronic = pingElectronic.add(temp.getPeriodElectricPrice()).add(multiply);
+							pingService = pingService.add(multiply);
 							break;
 						case 4:
-							if (temp.getChargingCapacity()!=null){
-								gu = gu.add(temp.getChargingCapacity());
-							}
-							if (temp.getElectrovalence()!=null){
-								guElectronic = guElectronic.add(temp.getElectrovalence());
-							}
-							if (temp.getServiceCharge()!=null){
-								guService = guService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
-							}
+							gu = gu.add(temp.getChargingCapacity());
+							guElectronic = guElectronic.add(temp.getPeriodElectricPrice()).add(multiply);
+							guService = guService.add(multiply);
 							break;
 					}
 				}
@@ -1923,7 +1876,6 @@
 		chargingOrderTimeVO.setElectrovalence(electrovalence.setScale(2, BigDecimal.ROUND_HALF_EVEN));
 		chargingOrderTimeVO.setServiceCharge(serviceCharge.setScale(2, BigDecimal.ROUND_HALF_EVEN));
 		// 计算尖峰平谷充电到账占比
-
 		BigDecimal add = jianElectronic.add(fengElectronic).add(pingElectronic).add(guElectronic);
 		// 计算尖峰平谷服务费占比
 		BigDecimal add1 = jianService.add(fengService).add(pingService).add(guService);
@@ -2469,10 +2421,16 @@
 		
 		//推送三方平台
 		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());
+			TChargingOrder finalChargingOrder = chargingOrder;
+			new Thread(new Runnable() {
+				@Override
+				public void run() {
+					tcecClient.notificationEquipChargeStatus(finalChargingOrder.getStartChargeSeq(), finalChargingOrder.getOperatorId());
+					tcecClient.notificationStopChargeResult(finalChargingOrder.getStartChargeSeq(), finalChargingOrder.getChargingGunId().toString(),
+							finalChargingOrder.getOperatorId());
+					tcecClient.notificationChargeOrderInfo(finalChargingOrder.getStartChargeSeq(), finalChargingOrder.getOperatorId());
+				}
+			}).start();
 		}
 		
 		//开始将优惠券优惠的金额添加到明细中
@@ -2915,6 +2873,8 @@
 	@Override
 	public TSettlementConfirm settlementAdd(SettlementConfirmAdd dto) {
 		List<Site> data = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData();
+		List<TChargingOrderAccountingStrategy> list3 = chargingOrderAccountingStrategyService.list();
+
 		TSettlementConfirm tSettlementConfirm = new TSettlementConfirm();
 		if (!data.isEmpty()){
 			tSettlementConfirm.setSiteName(data.get(0).getName());
@@ -2970,25 +2930,37 @@
 		// 支付订单金额 需要减去退款金额
 		BigDecimal paymentAmount = new BigDecimal("0");
 		for (TChargingOrder tChargingOrder : tChargingOrders) {
-			// 累加充电总度数
-			if (tChargingOrder.getChargingCapacity()!=null){
-				chargingElectronic = chargingElectronic.add(tChargingOrder.getChargingCapacity());
-
+			if(null == tChargingOrder.getStatus() || 5 != tChargingOrder.getStatus()){
+				continue;
 			}
+			List<TChargingOrderAccountingStrategy> list4 = list3.stream().filter(e -> e.getChargingOrderId().equals(tChargingOrder.getId())).collect(Collectors.toList());
+			BigDecimal electronic_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal service_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal chargingCapacity = list4.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+			// 累加充电总度数
+			chargingElectronic = chargingElectronic.add(chargingCapacity);
 			// 累加分佣
 			if (tChargingOrder.getOrderSource()==2) {
-				sharingAmount = sharingAmount.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
+				sharingAmount = sharingAmount.add(service_reduce.multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
 			}
 			// 累加电费
-			if (tChargingOrder.getElectrovalence()!=null) {
-			electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
+			electrovalence = electrovalence.add(electronic_reduce);
+			if (tChargingOrder.getPaymentAmount()!=null && tChargingOrder.getOrderSource()!=2){
+				paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
+
 			}
+			if (tChargingOrder.getRechargeAmount()!=null){
+				orderCommission = orderCommission.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006"))
+						.setScale(2,BigDecimal.ROUND_DOWN));
+			}
+
 			// 累加服务费
 			if (tChargingOrder.getServiceCharge()!=null){
 				if (tChargingOrder.getOrderSource()==2) {
-					serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
+					serviceCharge = serviceCharge.add(service_reduce.multiply(new BigDecimal("0.8")).setScale(2,BigDecimal.ROUND_DOWN));
+					paymentAmount = paymentAmount.add(electronic_reduce).add(service_reduce.multiply(new BigDecimal("0.8")));
 				}else{
-					serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
+					serviceCharge = serviceCharge.add(service_reduce);
 				}
 			}
 			// 累加会员折扣
@@ -2999,11 +2971,7 @@
 			if (tChargingOrder.getCouponDiscountAmount()!=null){
 				couponDiscount = couponDiscount.add(tChargingOrder.getCouponDiscountAmount());
 			}
-			if (tChargingOrder.getPaymentAmount()!=null){
-				paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
-				orderCommission = orderCommission.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006"))
-						.setScale(2,BigDecimal.ROUND_DOWN));
-			}
+
 
 		}
 

--
Gitblit v1.7.1