Commit 77db1811 by 徐康

Merge branch 'feature/20201015_麦咖啡允许重复申请退款_xukang' into develop

parents 1e301aee 11c1c80b
......@@ -1213,7 +1213,6 @@ public class OrderAdapter {
}
if (ordersBean.getHasRefund() != null && ordersBean.getHasRefund() && CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
if(mcCafePartnerId.equals(ordersBean.getCompanyId())) {
responseVo.setRefundIntervalTime(Long.valueOf(mccafeRefundInterval));
QueryOrdersResponse.DataBean.OrderBean.RefundBean latestRefundBean = ordersBean.getRefundList().get(0);
for(int i=0;i<ordersBean.getRefundList().size();i++) {
......@@ -1239,6 +1238,7 @@ public class OrderAdapter {
if(new Date().getTime() - Long.parseLong(latestRefundBean.getCreateTime()) > Long.valueOf(mccafeRefundInterval)) {
responseVo.setAfterRefundInterval(true);
}
responseVo.setRefundIntervalTime(Long.valueOf(latestRefundBean.getCreateTime()) + Long.valueOf(mccafeRefundInterval));
}
} else {
......
......@@ -168,7 +168,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
if (reviewStatus!=null && reviewStatus.equals(DeliveryReviewStatus.REJECT.getCode())){
orderManagerRequest.setOperateType(OperateType.ORDER_REJECT_REFUND.getOpType());
orderManagerRequest.setReason("配送回调-拒绝退款");
return orderManagerAdapter.orderRejectRefund(orderManagerRequest);
return orderManagerAdapter.mcCafeOrderRejectRefund(orderManagerRequest);
}
if (deliveryStatus == DeliveryStatus.RIDERGETMEAL.getCode() || deliveryStatus == DeliveryStatus.RIDERSTARTDELIVERY.getCode()){
orderManagerRequest.setOperateType(OperateType.ORDER_SEND.getOpType());
......
......@@ -184,6 +184,23 @@ public class OrderManagerAdapter {
return handleResponse(request,orderBean,orderManagerResponse);
}
/**
* 拒绝退款
* @param request
* @return
*/
public BaseResponse mcCafeOrderRejectRefund(OrderManagerRequest request) {
//查询订单
QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId());
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.mcCafeOrderRejectRefund(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return handleResponse(request,orderBean,verifyResponse);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderRejectRefund(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
}
private BaseResponse<OrderManagerResponse> handleResponse(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean,BaseResponse result) {
if (orderBean==null){
......
......@@ -28,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
......@@ -300,6 +301,39 @@ public class OrderVerifyHandle {
}
/**
* 拒绝退款
* @param orderBean
* @param request
* @return
*/
public BaseResponse mcCafeOrderRejectRefund(QueryOrdersResponse.DataBean.OrderBean orderBean, OrderManagerRequest request) {
//判断当前订单是否发起退款
if (orderBean.getHasRefund() == null || !orderBean.getHasRefund()) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_NOT_APPLY);
}
if(CollectionUtils.isEmpty(orderBean.getRefundList())) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_NOT_APPLY);
}
for (QueryOrdersResponse.DataBean.OrderBean.RefundBean refundBean : orderBean.getRefundList()) {
if (ObjectUtils.equals(refundBean.getStatus(), RefundStatus.COMPLETE_REFUND.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER_REJECT_REFUND_REPETITION);
}
if (OrderStatus.CANCEL.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_REJECT_REFUND_STATUS_END);
}
if (ObjectUtils.equals(refundBean.getStatus(), RefundStatus.APPLY_REFUND.getCode())) {
break;
}
}
return ResponseUtil.success();
}
/**
* 通用校验
*
* @param 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