Commit c3f45d59 by zhiheng.zhang

Merge branch 'feature/20210513-7天关闭自动退款-张志恒'

parents fd117531 12c93047
...@@ -24,6 +24,7 @@ import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant; ...@@ -24,6 +24,7 @@ import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus; import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.netflix.discovery.converters.Auto; import com.netflix.discovery.converters.Auto;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -77,10 +78,12 @@ public class MallOrderMangerServiceImpl implements OrderManagerService { ...@@ -77,10 +78,12 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
} }
} }
if((StringUtils.isNotEmpty(request.getOperator()) && !"自动任务".equalsIgnoreCase(request.getOperator())) && Objects.equals(RefundModeEnum.REFUND_ALL.getIndex(),refundMode) && Objects.nonNull(orderBean.getAfterSalesOrderResp()) && Objects.equals(AfterSalesStatus.PENDING.getIndex(), orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){ if((StringUtils.isNotEmpty(request.getOperator()) && "自动任务".equalsIgnoreCase(request.getOperator())) && Objects.equals(RefundModeEnum.REFUND_ALL.getIndex(),refundMode) && Objects.nonNull(orderBean.getAfterSalesOrderResp()) && Objects.equals(AfterSalesStatus.PENDING.getIndex(), orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
// 修改售后单状态为退货中 // 修改售后单状态为退货中
mallOrderHandle.mallOrderAgreeApply(request, orderBean); BaseResponse mallOrderAgreeApply = mallOrderHandle.mallOrderAgreeApply(request, orderBean);
}else { if (mallOrderAgreeApply == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), mallOrderAgreeApply.getCode())) {
return ResponseUtil.error(ResponseResult.AGREE_REFUND_APPLY_ORDER_FAIL);
}
// 拼团订单主动退款触发通知促销 // 拼团订单主动退款触发通知促销
if (Objects.equals(com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode(), orderBean.getSource()) if (Objects.equals(com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode(), orderBean.getSource())
&& Objects.equals(OrderMarketType.GROUPB.getIndex(), orderBean.getMarketingType())) { && Objects.equals(OrderMarketType.GROUPB.getIndex(), orderBean.getMarketingType())) {
...@@ -97,7 +100,6 @@ public class MallOrderMangerServiceImpl implements OrderManagerService { ...@@ -97,7 +100,6 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
} catch (OrderServiceException orderEx) { } catch (OrderServiceException orderEx) {
return ResponseUtil.error(orderEx.getResult()); return ResponseUtil.error(orderEx.getResult());
} }
// refundResponse.setPayRefundStatus(PayRefundStatus.SUCCESS);
//订单同意退款 //订单同意退款
mallOrderHandle.refundAgree(request, refundResponse, orderBean); mallOrderHandle.refundAgree(request, refundResponse, orderBean);
// 推送pos、微信消息中心 // 推送pos、微信消息中心
...@@ -105,6 +107,35 @@ public class MallOrderMangerServiceImpl implements OrderManagerService { ...@@ -105,6 +107,35 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
//todo 可以考虑基于订单回调异步实现 //todo 可以考虑基于订单回调异步实现
//冲正库存 //冲正库存
stockHandle.revert(request, orderBean); stockHandle.revert(request, orderBean);
}else {
if (Objects.equals(RefundModeEnum.REFUND_ALL.getIndex(), refundMode) && Objects.nonNull(orderBean.getAfterSalesOrderResp()) && Objects.equals(AfterSalesStatus.PENDING.getIndex(), orderBean.getAfterSalesOrderResp().getAfterSalesStatus())) {
// 修改售后单状态为退货中
mallOrderHandle.mallOrderAgreeApply(request, orderBean);
} else {
// 拼团订单主动退款触发通知促销
if (Objects.equals(com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode(), orderBean.getSource())
&& Objects.equals(OrderMarketType.GROUPB.getIndex(), orderBean.getMarketingType())) {
GroupWorkRefundResponse refundResponse = activityHandle.groupWorkRefund(orderBean);
if (Objects.isNull(refundResponse) || !Objects.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, refundResponse.getStatusCode())) {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_REFUND_ERROR);
}
}
//支付退款
PayRefundResponse refundResponse = new PayRefundResponse();
try {
refundResponse = paymentHandle.refund(request, orderBean);
} catch (OrderServiceException orderEx) {
return ResponseUtil.error(orderEx.getResult());
}
//订单同意退款
mallOrderHandle.refundAgree(request, refundResponse, orderBean);
// 推送pos、微信消息中心
orderBaseService.sendMessage(orderBean, OperateType.ORDER_AGREE_REFUND, request.getReason());
//todo 可以考虑基于订单回调异步实现
//冲正库存
stockHandle.revert(request, orderBean);
}
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
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