mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-12 19:29:52 +08:00
优化结算订单逻辑
This commit is contained in:
@@ -430,11 +430,15 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderCode, price, electricityPrice, servicePrice, valleyUsedElectricity, amount, electricityAmount, serviceAmount, data.getValleyPrice(), data.getValleyAmount());
|
orderCode, price, electricityPrice, servicePrice, valleyUsedElectricity, amount, electricityAmount, serviceAmount, data.getValleyPrice(), data.getValleyAmount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 平台计算的总消费金额 平台计算总电费金额 + 平台计算总服务费金额
|
||||||
|
BigDecimal computeTotalAmount = totalElectricityAmount.add(totalServiceAmount);
|
||||||
|
|
||||||
// 如果算出来的 电费金额 + 服务费金额 != 总消费金额,则电费金额等于总消费金额 - 服务费金额
|
// 如果算出来的 电费金额 + 服务费金额 != 总消费金额,则电费金额等于总消费金额 - 服务费金额
|
||||||
if (totalElectricityAmount.add(totalServiceAmount).compareTo(orderAmount) != 0) {
|
if (computeTotalAmount.compareTo(orderAmount) != 0) {
|
||||||
// 2025年3月26日15点50分, 订单金额以平台计算为主,所以注释掉, 并打印日志说明
|
// 2025年3月26日15点50分, 订单金额以平台计算为主,所以注释掉, 并打印日志说明
|
||||||
// totalElectricityAmount = orderAmount.subtract(totalServiceAmount);
|
// totalElectricityAmount = orderAmount.subtract(totalServiceAmount);
|
||||||
logger.info("平台计算出电费金额:{}, 服务费金额:{}, 汇总:{}, 交易记录传来的金额:{}", totalElectricityAmount, totalServiceAmount, totalElectricityAmount.add(totalServiceAmount), orderAmount);
|
logger.info("平台计算出电费金额:{}, 服务费金额:{}, 汇总:{}, 交易记录传来的金额:{}", totalElectricityAmount, totalServiceAmount, computeTotalAmount, orderAmount);
|
||||||
|
orderAmount = computeTotalAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 电费总金额
|
// 电费总金额
|
||||||
@@ -449,6 +453,9 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderDetail.setTotalUsedElectricity(totalElectricity.max(sumUsedElectricity));
|
orderDetail.setTotalUsedElectricity(totalElectricity.max(sumUsedElectricity));
|
||||||
// 订单总金额
|
// 订单总金额
|
||||||
orderDetail.setTotalOrderAmount(orderAmount);
|
orderDetail.setTotalOrderAmount(orderAmount);
|
||||||
|
// 更新订单主表中的总消费金额和退款金额
|
||||||
|
orderBasicInfo.setOrderAmount(orderAmount);
|
||||||
|
orderBasicInfo.setRefundAmount(orderBasicInfo.getPayAmount().subtract(orderAmount));
|
||||||
logger.info("end更新订单详情:【{}】, 电费总金额:{}, 服务费总金额:{}, 总用电量:{}, 订单总金额:{}", orderCode, totalElectricityAmount, totalServiceAmount, orderDetail.getTotalUsedElectricity(), orderAmount);
|
logger.info("end更新订单详情:【{}】, 电费总金额:{}, 服务费总金额:{}, 总用电量:{}, 订单总金额:{}", orderCode, totalElectricityAmount, totalServiceAmount, orderDetail.getTotalUsedElectricity(), orderAmount);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("orderCode:{}, 设置订单详情参数发生异常", orderCode, e);
|
logger.error("orderCode:{}, 设置订单详情参数发生异常", orderCode, e);
|
||||||
|
|||||||
@@ -493,14 +493,14 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
.orderCode(orderBasicInfo.getOrderCode())
|
.orderCode(orderBasicInfo.getOrderCode())
|
||||||
.merchantId(orderBasicInfo.getMerchantId())
|
.merchantId(orderBasicInfo.getMerchantId())
|
||||||
.stationId(orderBasicInfo.getStationId())
|
.stationId(orderBasicInfo.getStationId())
|
||||||
.orderPayAmount(orderBasicInfo.getPayAmount())
|
.orderPayAmount(orderBasicInfo.getPayAmount()) // 支付金额
|
||||||
.orderConsumeAmount(orderBasicInfo.getOrderAmount())
|
.orderConsumeAmount(orderBasicInfo.getOrderAmount()) // 消费金额
|
||||||
.orderSettleAmount(orderBasicInfo.getSettleAmount())
|
.orderSettleAmount(orderBasicInfo.getSettleAmount()) // 结算金额
|
||||||
.orderElectricityAmount(orderDetail.getTotalElectricityAmount())
|
.orderElectricityAmount(orderDetail.getTotalElectricityAmount()) // 电费金额
|
||||||
.orderElectricityDiscountAmount(orderDetail.getDiscountElectricityAmount())
|
.orderElectricityDiscountAmount(orderDetail.getDiscountElectricityAmount()) // 电费折扣金额
|
||||||
.orderServiceAmount(orderDetail.getTotalServiceAmount())
|
.orderServiceAmount(orderDetail.getTotalServiceAmount()) // 服务费金额
|
||||||
.orderServiceDiscountAmount(orderDetail.getDiscountServiceAmount())
|
.orderServiceDiscountAmount(orderDetail.getDiscountServiceAmount()) // 服务费折扣金额
|
||||||
.orderRefundAmount(orderBasicInfo.getRefundAmount())
|
.orderRefundAmount(orderBasicInfo.getRefundAmount()) // 退款金额
|
||||||
.build();
|
.build();
|
||||||
rabbitTemplate.convertAndSend(RabbitConstants.YKC_EXCHANGE_NAME, RabbitConstants.QUEUE_CHARGE_ORDER_DATA, afterSettleOrderDTO);
|
rabbitTemplate.convertAndSend(RabbitConstants.YKC_EXCHANGE_NAME, RabbitConstants.QUEUE_CHARGE_ORDER_DATA, afterSettleOrderDTO);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user