Commit 2118bb59 by ping.wu

订单宝支付退款走混合支付退款

parent 0c96f890
......@@ -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 multiRefund(partnerId, storeCode, orderCode, refundAmount);
......@@ -56,11 +57,16 @@ public class MultiRefundService {
* @param orderPayItems
* @return
*/
private Boolean getMultiRefund(List<OrderPayItemResp> orderPayItems){
private Boolean getMultiRefund(List<OrderPayItemResp> orderPayItems,Integer orderClient){
boolean isMultiRefund = false;
if(CollectionUtils.isEmpty(orderPayItems)){
return isMultiRefund;
}
//订单宝支付走混合支付接口,退款走混合支付退款
List<Integer> orderClients = Arrays.asList(38);
if(orderClients.contains(orderClient)){
return true;
}
List<Integer> multiPayChannelType = Arrays.asList(3,10,50,51,52);
for(OrderPayItemResp orderPayItemResp : orderPayItems){
//有储值卡支付,调混合支付退款
......
......@@ -94,7 +94,8 @@ public class PaymentHandle {
BigDecimal maxRefundAmount = openMemberCardCost != null ? new BigDecimal(orderBean.getAmount()).subtract(openMemberCardCost.getCostAmount()) : new BigDecimal(orderBean.getAmount());
BigDecimal refundAmount = getRefundAmount(orderBean.getCompanyId(), maxRefundAmount, orderBean.getOid());
//订单支付明细表新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) {
refundResponse = multiRefundResponse;
}else {
......@@ -156,7 +157,8 @@ public class PaymentHandle {
BigDecimal maxRefundAmount = openMemberCardCost != null ? order.getSettlementAmount().subtract(openMemberCardCost.getCostAmount()) : order.getSettlementAmount();
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) {
// payment/application/refund
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