Commit 7bca3aab by ping.wu

Merge branch 'feature/20231101_订单宝支付退款_wuping' of…

Merge branch 'feature/20231101_订单宝支付退款_wuping' of https://gitlab.freemud.com/order-group-application/order-group into qa
parents 6d43652d 2118bb59
...@@ -40,9 +40,10 @@ public class MultiRefundService { ...@@ -40,9 +40,10 @@ public class MultiRefundService {
/** /**
* 多种支付方式支付退款 * 多种支付方式支付退款
*/ */
public PayRefundResponse multiRefund(String partnerId, String storeCode, String orderCode, BigDecimal refundAmount,List<OrderPayItemResp> orderPayItem){ public PayRefundResponse multiRefund(String partnerId, String storeCode, String orderCode, BigDecimal refundAmount,
List<OrderPayItemResp> orderPayItem, Integer orderClient){
//是否多种支付方式支付退款 //是否多种支付方式支付退款
if(!getMultiRefund(orderPayItem)){ if(!getMultiRefund(orderPayItem,orderClient)){
return null; return null;
} }
return multiRefund(partnerId, storeCode, orderCode, refundAmount); return multiRefund(partnerId, storeCode, orderCode, refundAmount);
...@@ -56,11 +57,16 @@ public class MultiRefundService { ...@@ -56,11 +57,16 @@ public class MultiRefundService {
* @param orderPayItems * @param orderPayItems
* @return * @return
*/ */
private Boolean getMultiRefund(List<OrderPayItemResp> orderPayItems){ private Boolean getMultiRefund(List<OrderPayItemResp> orderPayItems,Integer orderClient){
boolean isMultiRefund = false; boolean isMultiRefund = false;
if(CollectionUtils.isEmpty(orderPayItems)){ if(CollectionUtils.isEmpty(orderPayItems)){
return isMultiRefund; return isMultiRefund;
} }
//订单宝支付走混合支付接口,退款走混合支付退款
List<Integer> orderClients = Arrays.asList(38);
if(orderClients.contains(orderClient)){
return true;
}
List<Integer> multiPayChannelType = Arrays.asList(3,10,50,51,52); List<Integer> multiPayChannelType = Arrays.asList(3,10,50,51,52);
for(OrderPayItemResp orderPayItemResp : orderPayItems){ for(OrderPayItemResp orderPayItemResp : orderPayItems){
//有储值卡支付,调混合支付退款 //有储值卡支付,调混合支付退款
......
...@@ -94,7 +94,8 @@ public class PaymentHandle { ...@@ -94,7 +94,8 @@ public class PaymentHandle {
BigDecimal maxRefundAmount = openMemberCardCost != null ? new BigDecimal(orderBean.getAmount()).subtract(openMemberCardCost.getCostAmount()) : new BigDecimal(orderBean.getAmount()); BigDecimal maxRefundAmount = openMemberCardCost != null ? new BigDecimal(orderBean.getAmount()).subtract(openMemberCardCost.getCostAmount()) : new BigDecimal(orderBean.getAmount());
BigDecimal refundAmount = getRefundAmount(orderBean.getCompanyId(), maxRefundAmount, orderBean.getOid()); BigDecimal refundAmount = getRefundAmount(orderBean.getCompanyId(), maxRefundAmount, orderBean.getOid());
//订单支付明细表新saas都会存数据,ka,pass商户需要兼容 //订单支付明细表新saas都会存数据,ka,pass商户需要兼容
PayRefundResponse multiRefundResponse = multiRefundService.multiRefund(orderBean.getCompanyId(), orderBean.getShopId(), orderBean.getOid(), refundAmount, orderBean.getOrderPayItem()); PayRefundResponse multiRefundResponse = multiRefundService.multiRefund(orderBean.getCompanyId(), orderBean.getShopId(),
orderBean.getOid(), refundAmount, orderBean.getOrderPayItem(),Integer.parseInt(orderBean.getOrderClient()));
if (multiRefundResponse != null) { if (multiRefundResponse != null) {
refundResponse = multiRefundResponse; refundResponse = multiRefundResponse;
}else { }else {
...@@ -156,7 +157,8 @@ public class PaymentHandle { ...@@ -156,7 +157,8 @@ public class PaymentHandle {
BigDecimal maxRefundAmount = openMemberCardCost != null ? order.getSettlementAmount().subtract(openMemberCardCost.getCostAmount()) : order.getSettlementAmount(); BigDecimal maxRefundAmount = openMemberCardCost != null ? order.getSettlementAmount().subtract(openMemberCardCost.getCostAmount()) : order.getSettlementAmount();
BigDecimal refundAmount = getRefundAmount(order.getPartnerId(), maxRefundAmount, order.getOrderCode()); BigDecimal refundAmount = getRefundAmount(order.getPartnerId(), maxRefundAmount, order.getOrderCode());
PayRefundResponse multiRefundResponse = multiRefundService.multiRefund(order.getPartnerId(), order.getStoreId(), order.getOrderCode(), refundAmount, order.getOrderPayItemCreateReqList()); PayRefundResponse multiRefundResponse = multiRefundService.multiRefund(order.getPartnerId(), order.getStoreId(),
order.getOrderCode(), refundAmount, order.getOrderPayItemCreateReqList(),order.getOrderClient());
if (multiRefundResponse != null) { if (multiRefundResponse != null) {
// payment/application/refund // payment/application/refund
refundResponse = multiRefundResponse; refundResponse = multiRefundResponse;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment