diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index de986cde6..cdf589509 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -779,7 +779,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { String payMode = orderBasicInfo.getPayMode(); if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) { // 余额支付 - balancePaymentOrderRefund(orderBasicInfo); + balancePaymentOrderRefundV2(orderBasicInfo); } else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { // 微信支付 onlinePaymentOrderRefund(orderBasicInfo); @@ -1085,63 +1085,63 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { /** * 余额支付的订单退款 */ - private void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { - // 订单编号 - String orderCode = orderBasicInfo.getOrderCode(); - // 订单消费金额 - BigDecimal orderAmount = orderBasicInfo.getOrderAmount(); - // 查支付记录 - List payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode); - // 更新订单支付记录 - List updatePayRecordList = Lists.newArrayList(); - - Map payRecordMap = payRecordList.stream() - .collect(Collectors.toMap(OrderPayRecord::getPayMode, Function.identity(), (k1, k2) -> k1)); - // 取出本金支付金额,赠送支付金额 - BigDecimal principalPay = null; - BigDecimal giftPay = null; - - OrderPayRecord principalPayRecord = payRecordMap.get(Constants.ONE); - if (principalPayRecord != null) { - principalPay = principalPayRecord.getPayAmount(); - } - - OrderPayRecord giftPayRecord = payRecordMap.get(Constants.TWO); - if (giftPayRecord != null) { - giftPay = giftPayRecord.getPayAmount(); - } - - Map returnAmountMap = calculateReturnAmount(principalPay, giftPay, orderAmount); - logger.info("结算订单:{}, 剩余金额退回余额, 订单消费金额:{}, 本金支付金额:{}, 赠送支付金额:{}, 退回金额map:{}", - orderCode, orderAmount, principalPay, giftPay, JSONObject.toJSONString(returnAmountMap)); - // 更新会员钱包 - BigDecimal returnPrincipal = returnAmountMap.get("returnPrincipal"); - if (returnPrincipal != null && principalPayRecord != null) { - principalPayRecord.setRefundAmount(returnPrincipal); - updatePayRecordList.add(principalPayRecord); - } - BigDecimal returnGift = returnAmountMap.get("returnGift"); - if (returnGift != null && giftPayRecord != null) { - giftPayRecord.setRefundAmount(returnGift); - updatePayRecordList.add(giftPayRecord); - // 支付的赠送金额-退回的赠送金额 = 实际使用赠送金额消费的部分 - // virtualAmount = giftPay.subtract(returnGift); - } - UpdateMemberBalanceDTO updateMemberBalanceDTO = UpdateMemberBalanceDTO.builder() - .memberId(orderBasicInfo.getMemberId()) - .type(MemberWalletEnum.TYPE_IN.getValue()) // 进账 - .subType(MemberWalletEnum.SUBTYPE_ORDER_SETTLEMENT_REFUND.getValue()) // 订单结算退款 - .updatePrincipalBalance(returnPrincipal) - .updateGiftBalance(returnGift) - .relatedOrderCode(orderCode) - .build(); - memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO); - - // 更新order_pay_record - if (CollectionUtils.isNotEmpty(updatePayRecordList)) { - orderPayRecordService.updateBatch(updatePayRecordList); - } - } + // private void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + // // 订单编号 + // String orderCode = orderBasicInfo.getOrderCode(); + // // 订单消费金额 + // BigDecimal orderAmount = orderBasicInfo.getOrderAmount(); + // // 查支付记录 + // List payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode); + // // 更新订单支付记录 + // List updatePayRecordList = Lists.newArrayList(); + // + // Map payRecordMap = payRecordList.stream() + // .collect(Collectors.toMap(OrderPayRecord::getPayMode, Function.identity(), (k1, k2) -> k1)); + // // 取出本金支付金额,赠送支付金额 + // BigDecimal principalPay = null; + // BigDecimal giftPay = null; + // + // OrderPayRecord principalPayRecord = payRecordMap.get(Constants.ONE); + // if (principalPayRecord != null) { + // principalPay = principalPayRecord.getPayAmount(); + // } + // + // OrderPayRecord giftPayRecord = payRecordMap.get(Constants.TWO); + // if (giftPayRecord != null) { + // giftPay = giftPayRecord.getPayAmount(); + // } + // + // Map returnAmountMap = calculateReturnAmount(principalPay, giftPay, orderAmount); + // logger.info("结算订单:{}, 剩余金额退回余额, 订单消费金额:{}, 本金支付金额:{}, 赠送支付金额:{}, 退回金额map:{}", + // orderCode, orderAmount, principalPay, giftPay, JSONObject.toJSONString(returnAmountMap)); + // // 更新会员钱包 + // BigDecimal returnPrincipal = returnAmountMap.get("returnPrincipal"); + // if (returnPrincipal != null && principalPayRecord != null) { + // principalPayRecord.setRefundAmount(returnPrincipal); + // updatePayRecordList.add(principalPayRecord); + // } + // BigDecimal returnGift = returnAmountMap.get("returnGift"); + // if (returnGift != null && giftPayRecord != null) { + // giftPayRecord.setRefundAmount(returnGift); + // updatePayRecordList.add(giftPayRecord); + // // 支付的赠送金额-退回的赠送金额 = 实际使用赠送金额消费的部分 + // // virtualAmount = giftPay.subtract(returnGift); + // } + // UpdateMemberBalanceDTO updateMemberBalanceDTO = UpdateMemberBalanceDTO.builder() + // .memberId(orderBasicInfo.getMemberId()) + // .type(MemberWalletEnum.TYPE_IN.getValue()) // 进账 + // .subType(MemberWalletEnum.SUBTYPE_ORDER_SETTLEMENT_REFUND.getValue()) // 订单结算退款 + // .updatePrincipalBalance(returnPrincipal) + // .updateGiftBalance(returnGift) + // .relatedOrderCode(orderCode) + // .build(); + // memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO); + // + // // 更新order_pay_record + // if (CollectionUtils.isNotEmpty(updatePayRecordList)) { + // orderPayRecordService.updateBatch(updatePayRecordList); + // } + // } private void balancePaymentOrderRefundV2(OrderBasicInfo orderBasicInfo) { // 订单编号