Commit 6d85cea6 by ping.wu

商城混合支付退款

parent 1fdde2ea
......@@ -2,25 +2,22 @@ package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundResponse;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.OperateType;
import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.service.OrderManagerService;
import cn.freemud.management.service.handle.*;
import cn.freemud.management.service.handle.ActivityHandle;
import cn.freemud.management.service.handle.MallOrderHandle;
import cn.freemud.management.service.handle.PaymentHandle;
import cn.freemud.management.service.handle.StockHandle;
import cn.freemud.management.util.ResponseUtil;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesStatus;
import com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto;
import org.apache.commons.lang.ObjectUtils;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -70,8 +67,34 @@ public class NewMallOrderMangerServiceImpl implements OrderManagerService {
// 修改售后单状态为退货中
mallOrderHandle.mallOrderAgreeApply(request, orderBean);
} else {
//支付退款
PayRefundResponse refundResponse = paymentHandle.refund(request, orderBean);
PayRefundResponse refundResponse;
boolean cashPay = false;
boolean svcPay = false;
if(CollectionUtils.isNotEmpty(orderBean.getOrderPayItem())){
for (OrderPayItemResp payItemResp : orderBean.getOrderPayItem()){
if(Objects.equals(payItemResp.getPayChannelType(),(int)PayChannelType.SVC.getIndex())){
svcPay = true;
}
if(Objects.equals(payItemResp.getPayChannelType(),(int)PayChannelType.WECHAT.getIndex())){
cashPay = true;
}
if(Objects.equals(payItemResp.getPayChannelType(),(int)PayChannelType.ALIPAY.getIndex())){
cashPay = true;
}
}
}
if (cashPay && svcPay) {
refundResponse = paymentHandle.multiRefund(orderBean);
} else {
// OrderExtendedReq ext = orderBean.getOrderExtended();
// if (StringUtils.isNotBlank(ext.getAgentPayerId()) && !Objects.equals(ext.getAgentPayerId(), orderBean.getUserId())) {
// //代付人信息不为空 并且和订单创建人不一样,表示代付单
// refundResponse = paymentHandle.agentPayRefund(orderBean);
// }
refundResponse = paymentHandle.refund(request, orderBean);
}
//订单同意退款
mallOrderHandle.refundAgree(request, refundResponse, orderBean);
//冲正库存
......
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