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