|
@@ -475,18 +475,6 @@ public class OrderRechargeServiceImpl extends ServiceImpl<OrderRechargeMapper, O
|
|
|
String payType = PayCodeUtils.getPayTypeByCode(createDTO.getAuthCode());
|
|
|
orderRecharge.setPayType(payType);
|
|
|
}
|
|
|
-
|
|
|
- if (createDTO.getPayType().equals(PayType.COMBINE.getCode())) {
|
|
|
- //组合支付
|
|
|
- String payType = PayCodeUtils.getPayTypeByCode(createDTO.getAuthCode());
|
|
|
- if (payType.equals(PayType.WECHAT.getCode())) {
|
|
|
- orderRecharge.setWxPayAmount(CurrencyUtil.sub(createDTO.getPayAmount(), createDTO.getCashPayAmount()));
|
|
|
- }
|
|
|
- if (payType.equals(PayType.ALIPAY.getCode())) {
|
|
|
- orderRecharge.setAliPayAmount(CurrencyUtil.sub(createDTO.getPayAmount(), createDTO.getCashPayAmount()));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
orderRecharge.setOrderStatus(OrderRechargeStatus.NO_PAY.getCode());
|
|
|
orderRecharge.setPayStatus(PayStatus.WAITING_TO_PAY.getCode());
|
|
|
|
|
@@ -515,7 +503,7 @@ public class OrderRechargeServiceImpl extends ServiceImpl<OrderRechargeMapper, O
|
|
|
orderRecharge.setGivePointAmount(rechargeType.getGivePointAmount());
|
|
|
}
|
|
|
// 5. 设置支付渠道金额
|
|
|
- initializePayChannelAmount(orderRecharge);
|
|
|
+ initializePayChannelAmount(orderRecharge, createDTO);
|
|
|
orderRecharge.setDelFlag(DeleteStatus.OK.getCode());
|
|
|
orderRecharge.buildCreateData();
|
|
|
save(orderRecharge);
|
|
@@ -525,7 +513,7 @@ public class OrderRechargeServiceImpl extends ServiceImpl<OrderRechargeMapper, O
|
|
|
/**
|
|
|
* 初始化支付渠道金额
|
|
|
*/
|
|
|
- private void initializePayChannelAmount(OrderRecharge orderRecharge) {
|
|
|
+ private void initializePayChannelAmount(OrderRecharge orderRecharge, OrderRechargeCreateDTO createDTO) {
|
|
|
orderRecharge.setCashPayAmount(BigDecimal.ZERO);
|
|
|
orderRecharge.setAliPayAmount(BigDecimal.ZERO);
|
|
|
orderRecharge.setWxPayAmount(BigDecimal.ZERO);
|
|
@@ -539,6 +527,17 @@ public class OrderRechargeServiceImpl extends ServiceImpl<OrderRechargeMapper, O
|
|
|
case CASH:
|
|
|
orderRecharge.setCashPayAmount(orderRecharge.getPayAmount());
|
|
|
break;
|
|
|
+ case COMBINE:
|
|
|
+ //组合支付
|
|
|
+ orderRecharge.setCashPayAmount(createDTO.getCashPayAmount());
|
|
|
+ String payType = PayCodeUtils.getPayTypeByCode(createDTO.getAuthCode());
|
|
|
+ if (payType.equals(PayType.WECHAT.getCode())) {
|
|
|
+ orderRecharge.setWxPayAmount(CurrencyUtil.sub(createDTO.getPayAmount(), createDTO.getCashPayAmount()));
|
|
|
+ }
|
|
|
+ if (payType.equals(PayType.ALIPAY.getCode())) {
|
|
|
+ orderRecharge.setAliPayAmount(CurrencyUtil.sub(createDTO.getPayAmount(), createDTO.getCashPayAmount()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|