diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd03.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd03.java index e9895e3c3..665f10824 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd03.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd03.java @@ -9,6 +9,9 @@ import lombok.ToString; import java.math.BigDecimal; +/** + * 结算消费信息上传(03指令) + */ @Getter @Setter @ToString(callSuper = true) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java index d16829707..f77b3b204 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java @@ -527,6 +527,13 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic { refundOrder(orderBasicInfo); } + // 退款金额 + BigDecimal refundAmount = orderBasicInfo.getRefundAmount() == null ? BigDecimal.ZERO : orderBasicInfo.getRefundAmount(); + + // 结算金额 = 支付金额 - 退款金额 + BigDecimal settleAmount = orderBasicInfo.getPayAmount().subtract(refundAmount).setScale(2, RoundingMode.DOWN); + orderBasicInfo.setSettleAmount(settleAmount); + // 更新数据库 OrderTransactionDTO dto = new OrderTransactionDTO(); dto.setOrderBasicInfo(orderBasicInfo); @@ -557,6 +564,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic { // 更新退款金额 = 支付金额 - 优惠后总消费金额 BigDecimal refundAmount = orderBasicInfo.getPayAmount().subtract(consumeAmount).setScale(2, RoundingMode.DOWN); orderBasicInfo.setRefundAmount(refundAmount); + } /**