From d21bfc76d4d185b0c882168104e6a60ef390a1fb Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 18 十月 2024 17:01:07 +0800
Subject: [PATCH] 合并代码

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |  112 ++++++++++++++++++-------------------
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java      |   12 ----
 2 files changed, 54 insertions(+), 70 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java
index d664eb8..78070af 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java
@@ -23,7 +23,6 @@
     private String trade_date;// 交易日期、时间
     private Integer stop_reason;// 停止原因
     private String physical_card_number;// 物理卡号
-    private String billing_model_code1;// 计费模型编号
     private BigDecimal spike_charge1;// 尖电量
     private BigDecimal loss_spike_charge1;// 计损尖电量
     private BigDecimal spike_amount1;// 尖金额
@@ -36,7 +35,6 @@
     private BigDecimal valley_charge1;// 谷电量
     private BigDecimal loss_valley_charge1;// 计损谷电量
     private BigDecimal valley_amount1;// 谷金额
-    private String billing_model_code2;// 计费模型编号
     private BigDecimal spike_charge2;// 尖电量
     private BigDecimal loss_spike_charge2;// 计损尖电量
     private BigDecimal spike_amount2;// 尖金额
@@ -49,7 +47,6 @@
     private BigDecimal valley_charge2;// 谷电量
     private BigDecimal loss_valley_charge2;// 计损谷电量
     private BigDecimal valley_amount2;// 谷金额
-    private String billing_model_code3;// 计费模型编号
     private BigDecimal spike_charge3;// 尖电量
     private BigDecimal loss_spike_charge3;// 计损尖电量
     private BigDecimal spike_amount3;// 尖金额
@@ -62,7 +59,6 @@
     private BigDecimal valley_charge3;// 谷电量
     private BigDecimal loss_valley_charge3;// 计损谷电量
     private BigDecimal valley_amount3;// 谷金额
-    private String billing_model_code4;// 计费模型编号
     private BigDecimal spike_charge4;// 尖电量
     private BigDecimal loss_spike_charge4;// 计损尖电量
     private BigDecimal spike_amount4;// 尖金额
@@ -75,7 +71,6 @@
     private BigDecimal valley_charge4;// 谷电量
     private BigDecimal loss_valley_charge4;// 计损谷电量
     private BigDecimal valley_amount4;// 谷金额
-    private String billing_model_code5;// 计费模型编号
     private BigDecimal spike_charge5;// 尖电量
     private BigDecimal loss_spike_charge5;// 计损尖电量
     private BigDecimal spike_amount5;// 尖金额
@@ -88,7 +83,6 @@
     private BigDecimal valley_charge5;// 谷电量
     private BigDecimal loss_valley_charge5;// 计损谷电量
     private BigDecimal valley_amount5;// 谷金额
-    private String billing_model_code6;// 计费模型编号
     private BigDecimal spike_charge6;// 尖电量
     private BigDecimal loss_spike_charge6;// 计损尖电量
     private BigDecimal spike_amount6;// 尖金额
@@ -101,7 +95,6 @@
     private BigDecimal valley_charge6;// 谷电量
     private BigDecimal loss_valley_charge6;// 计损谷电量
     private BigDecimal valley_amount6;// 谷金额
-    private String billing_model_code7;// 计费模型编号
     private BigDecimal spike_charge7;// 尖电量
     private BigDecimal loss_spike_charge7;// 计损尖电量
     private BigDecimal spike_amount7;// 尖金额
@@ -114,7 +107,6 @@
     private BigDecimal valley_charge7;// 谷电量
     private BigDecimal loss_valley_charge7;// 计损谷电量
     private BigDecimal valley_amount7;// 谷金额
-    private String billing_model_code8;// 计费模型编号
     private BigDecimal spike_charge8;// 尖电量
     private BigDecimal loss_spike_charge8;// 计损尖电量
     private BigDecimal spike_amount8;// 尖金额
@@ -127,7 +119,6 @@
     private BigDecimal valley_charge8;// 谷电量
     private BigDecimal loss_valley_charge8;// 计损谷电量
     private BigDecimal valley_amount8;// 谷金额
-    private String billing_model_code9;// 计费模型编号
     private BigDecimal spike_charge9;// 尖电量
     private BigDecimal loss_spike_charge9;// 计损尖电量
     private BigDecimal spike_amount9;// 尖金额
@@ -140,7 +131,6 @@
     private BigDecimal valley_charge9;// 谷电量
     private BigDecimal loss_valley_charge9;// 计损谷电量
     private BigDecimal valley_amount9;// 谷金额
-    private String billing_model_code10;// 计费模型编号
     private BigDecimal spike_charge10;// 尖电量
     private BigDecimal loss_spike_charge10;// 计损尖电量
     private BigDecimal spike_amount10;// 尖金额
@@ -153,7 +143,6 @@
     private BigDecimal valley_charge10;// 谷电量
     private BigDecimal loss_valley_charge10;// 计损谷电量
     private BigDecimal valley_amount10;// 谷金额
-    private String billing_model_code11;// 计费模型编号
     private BigDecimal spike_charge11;// 尖电量
     private BigDecimal loss_spike_charge11;// 计损尖电量
     private BigDecimal spike_amount11;// 尖金额
@@ -166,7 +155,6 @@
     private BigDecimal valley_charge11;// 谷电量
     private BigDecimal loss_valley_charge11;// 计损谷电量
     private BigDecimal valley_amount11;// 谷金额
-    private String billing_model_code12;// 计费模型编号
     private BigDecimal spike_charge12;// 尖电量
     private BigDecimal loss_spike_charge12;// 计损尖电量
     private BigDecimal spike_amount12;// 尖金额
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 4d05f8d..48bce8a 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
@@ -1781,67 +1781,63 @@
 		//获取订单的计费策略
 		List<AccountingStrategyDetailOrder> accountingStrategyDetailOrderList = accountingStrategyDetailOrderClient.getAllAccountingStrategyDetailOrder(chargingOrder.getId()).getData();
 		chargingOrderAccountingStrategyService.remove(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId()));
-		for (int i = 0; i < 12; i++) {
+		for (int i = 0; i < accountingStrategyDetailOrderList.size(); i++) {
 			Class<? extends TransactionRecordMessageVO> clazz = vo.getClass();
 			try {
-				Object invoke1 = clazz.getMethod("getBilling_model_code" + (i + 1)).invoke(vo);
-				if(null != invoke1){
-					Integer id = Integer.valueOf(invoke1.toString());
-					AccountingStrategyDetailOrder strategyDetail = accountingStrategyDetailOrderList.stream().filter(s -> s.getId().equals(id)).findFirst().get();
-					//阶段(1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段)
-					Object invoke = null;
-					switch (strategyDetail.getType()){
-						case 1:
-							//充电度数
-							invoke = clazz.getMethod("getSpike_charge" + (i + 1)).invoke(vo);
-							break;
-						case 2:
-							//充电度数
-							invoke = clazz.getMethod("getPeak_charge" + (i + 1)).invoke(vo);
-							break;
-						case 3:
-							//充电度数
-							invoke = clazz.getMethod("getFlat_charge" + (i + 1)).invoke(vo);
-							break;
-						case 4:
-							//充电度数
-							invoke = clazz.getMethod("getValley_amount" + (i + 1)).invoke(vo);
-							break;
-					}
-					if(null == invoke || invoke.toString().equals("0")){
-						continue;
-					}
-					BigDecimal Sharp_peak_charge = new BigDecimal(invoke.toString());
-					TChargingOrderAccountingStrategy chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
-					chargingOrderAccountingStrategy.setChargingOrderId(chargingOrder.getId());
-					chargingOrderAccountingStrategy.setAccountingStrategyDetailId(strategyDetail.getId());
-					chargingOrderAccountingStrategy.setType(strategyDetail.getType());
-					chargingOrderAccountingStrategy.setStartTime(chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("HH:mm")));
-					chargingOrderAccountingStrategy.setEndTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")));
-					chargingOrderAccountingStrategy.setElectrovalence(strategyDetail.getElectrovalence());
-					chargingOrderAccountingStrategy.setServiceCharge(strategyDetail.getServiceCharge());
-					chargingOrderAccountingStrategy.setCostServiceCharge(strategyDetail.getCostServiceCharge());
-					//已充电总度数
-					BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(Sharp_peak_charge);
-					BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(Sharp_peak_charge);
-					BigDecimal serviceCharge = originalServicePrice;
-					//计算优惠金额
-					if(null != chargingOrder.getVipDiscount()){
-						serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10)));
-					}
-					chargingOrderAccountingStrategy.setChargingCapacity(Sharp_peak_charge);
-					chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
-					chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge);
-					chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice);
-					chargingOrderAccountingStrategy.setCreateTime(LocalDateTime.now());
-					chargingOrderAccountingStrategyService.save(chargingOrderAccountingStrategy);
-					
-					BigDecimal periodElectricPrice = chargingOrderAccountingStrategy.getPeriodElectricPrice();
-					BigDecimal periodServicePrice = chargingOrderAccountingStrategy.getPeriodOriginalServicePrice();
-					periodElectricPrice_total = periodElectricPrice_total.add(periodElectricPrice);
-					periodServicePrice_total = periodServicePrice_total.add(periodServicePrice);
-					total = total.add(periodElectricPrice).add(periodServicePrice);
+				AccountingStrategyDetailOrder strategyDetail = accountingStrategyDetailOrderList.get(i);
+				//阶段(1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段)
+				Object invoke = null;
+				switch (strategyDetail.getType()){
+					case 1:
+						//充电度数
+						invoke = clazz.getMethod("getSpike_charge" + (i + 1)).invoke(vo);
+						break;
+					case 2:
+						//充电度数
+						invoke = clazz.getMethod("getPeak_charge" + (i + 1)).invoke(vo);
+						break;
+					case 3:
+						//充电度数
+						invoke = clazz.getMethod("getFlat_charge" + (i + 1)).invoke(vo);
+						break;
+					case 4:
+						//充电度数
+						invoke = clazz.getMethod("getValley_amount" + (i + 1)).invoke(vo);
+						break;
 				}
+				if(null == invoke || invoke.toString().equals("0")){
+					continue;
+				}
+				BigDecimal Sharp_peak_charge = new BigDecimal(invoke.toString());
+				TChargingOrderAccountingStrategy chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
+				chargingOrderAccountingStrategy.setChargingOrderId(chargingOrder.getId());
+				chargingOrderAccountingStrategy.setAccountingStrategyDetailId(strategyDetail.getId());
+				chargingOrderAccountingStrategy.setType(strategyDetail.getType());
+				chargingOrderAccountingStrategy.setStartTime(chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("HH:mm")));
+				chargingOrderAccountingStrategy.setEndTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")));
+				chargingOrderAccountingStrategy.setElectrovalence(strategyDetail.getElectrovalence());
+				chargingOrderAccountingStrategy.setServiceCharge(strategyDetail.getServiceCharge());
+				chargingOrderAccountingStrategy.setCostServiceCharge(strategyDetail.getCostServiceCharge());
+				//已充电总度数
+				BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(Sharp_peak_charge);
+				BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(Sharp_peak_charge);
+				BigDecimal serviceCharge = originalServicePrice;
+				//计算优惠金额
+				if(null != chargingOrder.getVipDiscount()){
+					serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10)));
+				}
+				chargingOrderAccountingStrategy.setChargingCapacity(Sharp_peak_charge);
+				chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
+				chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge);
+				chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice);
+				chargingOrderAccountingStrategy.setCreateTime(LocalDateTime.now());
+				chargingOrderAccountingStrategyService.save(chargingOrderAccountingStrategy);
+				
+				BigDecimal periodElectricPrice = chargingOrderAccountingStrategy.getPeriodElectricPrice();
+				BigDecimal periodServicePrice = chargingOrderAccountingStrategy.getPeriodOriginalServicePrice();
+				periodElectricPrice_total = periodElectricPrice_total.add(periodElectricPrice);
+				periodServicePrice_total = periodServicePrice_total.add(periodServicePrice);
+				total = total.add(periodElectricPrice).add(periodServicePrice);
 			} catch (IllegalAccessException e) {
 				throw new RuntimeException(e);
 			} catch (InvocationTargetException e) {

--
Gitblit v1.7.1