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 da12b619f..f9847efc5 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 @@ -301,23 +301,23 @@ public abstract class AbstractProgramLogic implements InitializingBean { BigDecimal electricityPrice = orderDetail.getSharpElectricityPrice(); // 计算该时段电费 = 电费单价 x 用电量 - BigDecimal sharpElectricityAmount = electricityPrice.multiply(sharpUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal electricityAmount = electricityPrice.multiply(sharpUsedElectricity).setScale(2, RoundingMode.DOWN); - totalElectricityAmount = totalElectricityAmount.add(sharpElectricityAmount); + totalElectricityAmount = totalElectricityAmount.add(electricityAmount); // 该时段服务费单价 BigDecimal servicePrice = orderDetail.getSharpServicePrice(); // 计算该时段服务费 - BigDecimal sharpServiceAmount = servicePrice.multiply(sharpUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal serviceAmount = servicePrice.multiply(sharpUsedElectricity).setScale(2, RoundingMode.DOWN); - totalServiceAmount = totalServiceAmount.add(sharpServiceAmount); + totalServiceAmount = totalServiceAmount.add(serviceAmount); // 该时段单价 = 电费单价 + 服务费单价 BigDecimal price = electricityPrice.add(servicePrice); // 该时段金额 = 该时段电费 + 该时段服务费 - BigDecimal amount = sharpElectricityAmount.add(sharpServiceAmount); + BigDecimal amount = electricityAmount.add(serviceAmount); // if (data.getSharpPrice() != null) { // orderDetail.setSharpPrice(new BigDecimal(data.getSharpPrice())); @@ -328,8 +328,8 @@ public abstract class AbstractProgramLogic implements InitializingBean { orderDetail.setSharpPrice(price); orderDetail.setSharpAmount(amount); - logger.info("更新订单详情:【{}】, 当前为尖时段, 电费单价:{}, 服务费单价:{}, 时段单价:{}, 耗电量:{}, 平台计算该时段消费金额:{}, 桩传的单价:{}, 桩传的金额:{}", - orderCode, electricityPrice, servicePrice, price, sharpUsedElectricity, amount, data.getSharpPrice(), data.getSharpAmount()); + logger.info("更新订单详情:【{}】, 当前为尖时段, 时段单价:{}(电费单价:{}+服务费单价:{}), 耗电量:{}, 平台计算该时段消费金额:{}(电费:{}+服务费:{}), 桩传的单价:{}, 桩传的金额:{}", + orderCode, price, electricityPrice, servicePrice, sharpUsedElectricity, amount, electricityAmount, serviceAmount, data.getSharpPrice(), data.getSharpAmount()); } // 峰时段用电量 @@ -342,23 +342,23 @@ public abstract class AbstractProgramLogic implements InitializingBean { BigDecimal electricityPrice = orderDetail.getPeakElectricityPrice(); // 计算该时段电费 = 电费单价 x 用电量 - BigDecimal peakElectricityAmount = electricityPrice.multiply(peakUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal electricityAmount = electricityPrice.multiply(peakUsedElectricity).setScale(2, RoundingMode.DOWN); - totalElectricityAmount = totalElectricityAmount.add(peakElectricityAmount); + totalElectricityAmount = totalElectricityAmount.add(electricityAmount); // 该时段服务费单价 BigDecimal servicePrice = orderDetail.getPeakServicePrice(); // 计算该时段服务费 - BigDecimal peakServiceAmount = servicePrice.multiply(peakUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal serviceAmount = servicePrice.multiply(peakUsedElectricity).setScale(2, RoundingMode.DOWN); - totalServiceAmount = totalServiceAmount.add(peakServiceAmount); + totalServiceAmount = totalServiceAmount.add(serviceAmount); // 该时段单价 = 电费单价 + 服务费单价 BigDecimal price = electricityPrice.add(servicePrice); // 该时段金额 = 该时段电费 + 该时段服务费 - BigDecimal amount = peakElectricityAmount.add(peakServiceAmount); + BigDecimal amount = electricityAmount.add(serviceAmount); // if (data.getPeakPrice() != null) { // orderDetail.setPeakPrice(new BigDecimal(data.getPeakPrice())); @@ -369,8 +369,9 @@ public abstract class AbstractProgramLogic implements InitializingBean { orderDetail.setPeakPrice(price); orderDetail.setPeakAmount(amount); - logger.info("更新订单详情:【{}】, 当前为峰时段, 电费单价:{}, 服务费单价:{}, 时段单价:{}, 耗电量:{}, 平台计算该时段消费金额:{}, 桩传的单价:{}, 桩传的金额:{}", - orderCode, electricityPrice, servicePrice, price, peakUsedElectricity, amount, data.getPeakPrice(), data.getPeakAmount()); + + logger.info("更新订单详情:【{}】, 当前为峰时段, 时段单价:{}(电费单价:{}+服务费单价:{}), 耗电量:{}, 平台计算该时段消费金额:{}(电费:{}+服务费:{}), 桩传的单价:{}, 桩传的金额:{}", + orderCode, price, electricityPrice, servicePrice, peakUsedElectricity, amount, electricityAmount, serviceAmount, data.getPeakPrice(), data.getPeakAmount()); } // 平时段用电量 @@ -383,23 +384,23 @@ public abstract class AbstractProgramLogic implements InitializingBean { BigDecimal electricityPrice = orderDetail.getFlatElectricityPrice(); // 计算该时段电费 = 电费单价 x 用电量 - BigDecimal flatElectricityAmount = electricityPrice.multiply(flatUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal electricityAmount = electricityPrice.multiply(flatUsedElectricity).setScale(2, RoundingMode.DOWN); - totalElectricityAmount = totalElectricityAmount.add(flatElectricityAmount); + totalElectricityAmount = totalElectricityAmount.add(electricityAmount); // 该时段服务费单价 BigDecimal servicePrice = orderDetail.getFlatServicePrice(); // 计算该时段服务费 - BigDecimal flatServiceAmount = servicePrice.multiply(flatUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal serviceAmount = servicePrice.multiply(flatUsedElectricity).setScale(2, RoundingMode.DOWN); - totalServiceAmount = totalServiceAmount.add(flatServiceAmount); + totalServiceAmount = totalServiceAmount.add(serviceAmount); // 该时段单价 = 电费单价 + 服务费单价 BigDecimal price = electricityPrice.add(servicePrice); // 该时段金额 = 该时段电费 + 该时段服务费 - BigDecimal amount = flatElectricityAmount.add(flatServiceAmount); + BigDecimal amount = electricityAmount.add(serviceAmount); // if (data.getFlatPrice() != null) { // orderDetail.setFlatPrice(new BigDecimal(data.getFlatPrice())); @@ -410,8 +411,9 @@ public abstract class AbstractProgramLogic implements InitializingBean { orderDetail.setFlatPrice(price); orderDetail.setFlatAmount(amount); - logger.info("更新订单详情:【{}】, 当前为平时段, 电费单价:{}, 服务费单价:{}, 时段单价:{}, 耗电量:{}, 平台计算该时段消费金额:{}, 桩传的单价:{}, 桩传的金额:{}", - orderCode, electricityPrice, servicePrice, price, flatUsedElectricity, amount, data.getFlatPrice(), data.getFlatAmount()); + + logger.info("更新订单详情:【{}】, 当前为平时段, 时段单价:{}(电费单价:{}+服务费单价:{}), 耗电量:{}, 平台计算该时段消费金额:{}(电费:{}+服务费:{}), 桩传的单价:{}, 桩传的金额:{}", + orderCode, price, electricityPrice, servicePrice, flatUsedElectricity, amount, electricityAmount, serviceAmount, data.getFlatPrice(), data.getFlatAmount()); } // 谷时段用电量 @@ -424,23 +426,23 @@ public abstract class AbstractProgramLogic implements InitializingBean { BigDecimal electricityPrice = orderDetail.getValleyElectricityPrice(); // 计算该时段电费 = 电费单价 x 用电量 - BigDecimal valleyElectricityAmount = electricityPrice.multiply(valleyUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal electricityAmount = electricityPrice.multiply(valleyUsedElectricity).setScale(2, RoundingMode.DOWN); - totalElectricityAmount = totalElectricityAmount.add(valleyElectricityAmount); + totalElectricityAmount = totalElectricityAmount.add(electricityAmount); // 该时段服务费单价 BigDecimal servicePrice = orderDetail.getValleyServicePrice(); // 计算该时段服务费 - BigDecimal valleyServiceAmount = servicePrice.multiply(valleyUsedElectricity).setScale(2, RoundingMode.DOWN); + BigDecimal serviceAmount = servicePrice.multiply(valleyUsedElectricity).setScale(2, RoundingMode.DOWN); - totalServiceAmount = totalServiceAmount.add(valleyServiceAmount); + totalServiceAmount = totalServiceAmount.add(serviceAmount); // 该时段单价 = 电费单价 + 服务费单价 BigDecimal price = electricityPrice.add(servicePrice); // 该时段金额 = 该时段电费 + 该时段服务费 - BigDecimal amount = valleyElectricityAmount.add(valleyServiceAmount); + BigDecimal amount = electricityAmount.add(serviceAmount); // if (data.getValleyPrice() != null) { // orderDetail.setValleyPrice(new BigDecimal(data.getValleyPrice())); @@ -451,13 +453,16 @@ public abstract class AbstractProgramLogic implements InitializingBean { orderDetail.setValleyPrice(price); orderDetail.setValleyAmount(amount); - logger.info("更新订单详情:【{}】, 当前为谷时段, 电费单价:{}, 服务费单价:{}, 时段单价:{}, 耗电量:{}, 平台计算该时段消费金额:{}, 桩传的单价:{}, 桩传的金额:{}", - orderCode, electricityPrice, servicePrice, price, valleyUsedElectricity, amount, data.getValleyPrice(), data.getValleyAmount()); + + logger.info("更新订单详情:【{}】, 当前为谷时段, 时段单价:{}(电费单价:{}+服务费单价:{}), 耗电量:{}, 平台计算该时段消费金额:{}(电费:{}+服务费:{}), 桩传的单价:{}, 桩传的金额:{}", + orderCode, price, electricityPrice, servicePrice, valleyUsedElectricity, amount, electricityAmount, serviceAmount, data.getValleyPrice(), data.getValleyAmount()); } // 如果算出来的 电费金额 + 服务费金额 != 总消费金额,则电费金额等于总消费金额 - 服务费金额 if (totalElectricityAmount.add(totalServiceAmount).compareTo(orderAmount) != 0) { - totalElectricityAmount = orderAmount.subtract(totalServiceAmount); + // 2025年3月26日15点50分, 订单金额以平台计算为主,所以注释掉, 并打印日志说明 + // totalElectricityAmount = orderAmount.subtract(totalServiceAmount); + logger.info("平台计算出电费金额:{}, 服务费金额:{}, 汇总:{}, 交易记录传来的金额:{}", totalElectricityAmount, totalServiceAmount, totalElectricityAmount.add(totalServiceAmount), orderAmount); } // 电费总金额