diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 0cf63bfd7..4bdf5a19a 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -146,6 +146,9 @@ public class OrderService { @Autowired private PersonalChargingRecordService personalChargingRecordService; + @Autowired + private IOrderInsuranceInfoService orderInsuranceInfoService; + // 引入线程池 private ThreadPoolTaskExecutor executor = SpringUtils.getBean("threadPoolTaskExecutor"); @@ -1205,10 +1208,17 @@ public class OrderService { } }, executor); + BigDecimal chargeAmount = BigDecimal.ZERO; + OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); + BigDecimal insuranceAmount = orderBasicInfo.getInsuranceAmount(); + if (insuranceAmount != null) { + // 如果用户支付了保险金额,则充电金额需将保险金额减去 + chargeAmount = amount.divide(insuranceAmount).setScale(2, RoundingMode.HALF_UP); + } // 支付订单成功 PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder() .orderCode(orderCode) - .payAmount(amount) + .payAmount(chargeAmount) // .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) .payMode(payModel) .acquirer(AcquirerEnum.ADAPAY.getValue())