Commit ddc879a1 by ping.wu

订单支付明细有储值卡支付,调混合支付退款接口

parent a19bf298
......@@ -19,11 +19,13 @@ import com.freemud.application.sdk.api.base.BaseResponse;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.ordercenter.util.LogUtil;
import com.freemud.application.sdk.api.util.ResponseUtils;
......@@ -88,10 +90,11 @@ public class PaymentHandle {
PayRefundResponse refundResponse;
try {
BigDecimal refundAmount = getRefundAmount(orderBean.getCompanyId(), new BigDecimal(orderBean.getAmount()), orderBean.getOid());
if (null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size() > 0) {
//订单支付明细表新saas都会存数据,ka,pass商户需要兼容
if (getMultiRefund(orderBean.getOrderPayItem())) {
// payment/application/refund
refundResponse = this.multiRefund(orderBean.getCompanyId(), orderBean.getShopId(), orderBean.getOid(), refundAmount);
} else {
}else {
OrderExtendedReq extended = orderBean.getOrderExtended();
if (StringUtils.isNotBlank(extended.getAgentPayerId()) && !Objects.equals(extended.getAgentPayerId(), orderBean.getUserId())) {
OrderExtInfoDto ext = JSON.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
......@@ -131,6 +134,25 @@ public class PaymentHandle {
}
/**
* 是否混合支付退款 有储值卡支付,调混合支付退款接口
* @param orderPayItems
* @return
*/
private Boolean getMultiRefund(List<OrderPayItemResp> orderPayItems){
boolean isMultiRefund = false;
if(CollectionUtils.isEmpty(orderPayItems)){
return isMultiRefund;
}
for(OrderPayItemResp orderPayItemResp : orderPayItems){
//有储值卡支付,调混合支付退款
if(orderPayItemResp.getPayChannelType().equals(PayChannelType.SVC.getIndex().intValue())){
isMultiRefund = true;
}
}
return isMultiRefund;
}
/**
* 点餐订单退款入口
* 支付退款,包含纯现金,代付,混合支付
*
......
......@@ -420,7 +420,7 @@ public class OrderBeanV1 {
private OrderInvoice orderInvoice;
/**
* 混合支付list
* 支付明细list
*/
private List<OrderPayItemResp> orderPayItem;
......
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