From 05d35978cc3d67589b81c8a64f9e20e6fe780a39 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 11 Apr 2025 11:17:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=98=E6=89=A3=E5=90=8E=E7=94=B5=E8=B4=B9?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E5=A4=A7=E4=BA=8E=E5=8E=9F=E5=A7=8B=E7=94=B5?= =?UTF-8?q?=E8=B4=B9=E9=87=91=E9=A2=9D,=20=E6=8A=98=E6=89=A3=E5=90=8E?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=B4=B9=E4=B8=8D=E8=83=BD=E5=A4=A7=E4=BA=8E?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=9C=8D=E5=8A=A1=E8=B4=B9=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/service/programlogic/AbstractProgramLogic.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java index 2202887d9..068a31724 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java @@ -957,6 +957,8 @@ public abstract class AbstractProgramLogic implements InitializingBean { // 尖时段用电量 BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity(); if (sharpUsedElectricity != null) { + logger.info("计算订单折扣V2:【{}】, 当前为尖时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})", + orderCode, sharpUsedElectricity, orderDetail.getSharpElectricityPrice(), orderDetail.getSharpServicePrice(), billingTemplateVO.getSharpElectricityPrice(), billingTemplateVO.getSharpServicePrice()); // 该时段电费单价与orderDetail中的电价比较取最小值 // BigDecimal electricityPrice = billingTemplateVO.getSharpElectricityPrice(); BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getSharpElectricityPrice(), orderDetail.getSharpElectricityPrice()); @@ -978,6 +980,8 @@ public abstract class AbstractProgramLogic implements InitializingBean { // 峰时段用电量 BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity(); if (peakUsedElectricity != null) { + logger.info("计算订单折扣V2:【{}】, 当前为峰时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})", + orderCode, peakUsedElectricity, orderDetail.getPeakElectricityPrice(), orderDetail.getPeakServicePrice(), billingTemplateVO.getPeakElectricityPrice(), billingTemplateVO.getPeakServicePrice()); // 计算该时段电费单价 BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getPeakElectricityPrice(), orderDetail.getPeakElectricityPrice()); // 计算该时段电费 = 电费单价 x 用电量 @@ -996,6 +1000,8 @@ public abstract class AbstractProgramLogic implements InitializingBean { // 平时段用电量 BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity(); if (flatUsedElectricity != null) { + logger.info("计算订单折扣V2:【{}】, 当前为平时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})", + orderCode, flatUsedElectricity, orderDetail.getFlatElectricityPrice(), orderDetail.getFlatServicePrice(), billingTemplateVO.getFlatElectricityPrice(), billingTemplateVO.getFlatServicePrice()); // 计算该时段电费单价 BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getFlatElectricityPrice(), orderDetail.getFlatElectricityPrice()); // 计算该时段电费 = 电费单价 x 用电量 @@ -1014,6 +1020,8 @@ public abstract class AbstractProgramLogic implements InitializingBean { // 谷时段用电量 BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity(); if (valleyUsedElectricity != null) { + logger.info("计算订单折扣V2:【{}】, 当前为谷时段, 用电量:{}, orderDetail记录的单价({} + {}), 优惠模板单价({} - {})", + orderCode, valleyUsedElectricity, orderDetail.getValleyElectricityPrice(), orderDetail.getValleyServicePrice(), billingTemplateVO.getValleyElectricityPrice(), billingTemplateVO.getValleyServicePrice()); // 计算该时段电费单价 BigDecimal electricityPrice = getMinWithPositiveConstraint(billingTemplateVO.getValleyElectricityPrice(), orderDetail.getValleyElectricityPrice()); // 计算该时段电费 = 电费单价 x 用电量 @@ -1093,6 +1101,7 @@ public abstract class AbstractProgramLogic implements InitializingBean { * @return */ private BigDecimal getMinWithPositiveConstraint(BigDecimal num1, BigDecimal num2) { + logger.info("获取较小值,并且满足大于0的条件, num1:{}, num2:{}", num1, num2); BigDecimal valid1 = num1.compareTo(BigDecimal.ZERO) > 0 ? num1 : null; BigDecimal valid2 = num2.compareTo(BigDecimal.ZERO) > 0 ? num2 : null;