Commit 2d7901b6 by 刘继明

Merge branch 'feature/20210629-骑手未配送前支持手动取消-liujiming' into qa

# Conflicts:
#	order-management/src/main/java/cn/freemud/management/enums/OperateType.java
#	order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
#	ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/OperateType.java
parents 9b1b585d 07f486d0
...@@ -68,6 +68,8 @@ public class OrderManagerController { ...@@ -68,6 +68,8 @@ public class OrderManagerController {
return orderManagerAdapter.orderCancel(request); return orderManagerAdapter.orderCancel(request);
case ORDER_SWITCH_SELF_DELIVERY: case ORDER_SWITCH_SELF_DELIVERY:
return orderManagerAdapter.orderSwitchSelfDelivery(request); return orderManagerAdapter.orderSwitchSelfDelivery(request);
case ORDER_RECREATE_DELIVERY:
return orderManagerAdapter.orderRecreateDelivery(request);
default: default:
return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE); return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE);
} }
......
...@@ -12,7 +12,8 @@ public enum OperateType { ...@@ -12,7 +12,8 @@ public enum OperateType {
ORDER_AGREE_REFUND("orderAgreeRefund","同意退款"), ORDER_AGREE_REFUND("orderAgreeRefund","同意退款"),
ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"), ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"),
ORDER_CANCEL("orderCancel","订单取消"), ORDER_CANCEL("orderCancel","订单取消"),
ORDER_SWITCH_SELF_DELIVERY("orderSwitchSelfDelivery","切换自配送"); ORDER_SWITCH_SELF_DELIVERY("orderSwitchSelfDelivery","切换自配送"),
ORDER_RECREATE_DELIVERY("orderRecreateDelivery","重新呼叫骑手");
/** /**
......
...@@ -97,6 +97,15 @@ public interface OrderManagerService { ...@@ -97,6 +97,15 @@ public interface OrderManagerService {
default BaseResponse<OrderManagerResponse> orderSwitchSelfDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean){ default BaseResponse<OrderManagerResponse> orderSwitchSelfDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean){
return ResponseUtil.success(); return ResponseUtil.success();
} }
/**
* 重新呼叫骑手
* @param request
* @param orderBean
* @return
*/
default BaseResponse<OrderManagerResponse> orderRecreateDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean){
return ResponseUtil.success();
}
} }
...@@ -292,4 +292,21 @@ public class OrderManagerAdapter { ...@@ -292,4 +292,21 @@ public class OrderManagerAdapter {
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderSwitchSelfDelivery(request, orderBean); BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderSwitchSelfDelivery(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse); return handleResponse(request,orderBean,orderManagerResponse);
} }
/**
* 重新呼叫骑手
* @param request
* @return
*/
public BaseResponse orderRecreateDelivery(OrderManagerRequest request){
//查询订单
QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId());
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.orderRecreateDelivery(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return handleResponse(request,orderBean,verifyResponse);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderRecreateDelivery(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
}
} }
...@@ -535,6 +535,39 @@ public class OrderVerifyHandle { ...@@ -535,6 +535,39 @@ public class OrderVerifyHandle {
} }
/** /**
* 重新呼叫骑手数据校验
* @param orderBean
* @param request
* @return
*/
public BaseResponse orderRecreateDelivery(QueryOrdersResponse.DataBean.OrderBean orderBean, OrderManagerRequest request) {
if (Objects.isNull(orderBean)) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//校验订单状态
if (OrderStatus.DISTRIBUTION.getCode()!=orderBean.getStatus()){
return ResponseUtil.error(ResponseResult.ORDER_STATUS_FAILED);
}
//校验订单配送状态
if (DeliveryStatus.DELIVERYCANCEL.getCode()!=orderBean.getDeliverStatus()){
return ResponseUtil.error(ResponseResult.ORDER_STATUS_FAILED);
}
DeliveryStatus deliveryStatus= DeliveryStatus.getDeliveryStatusByCode(orderBean.getDeliverStatus());
switch (deliveryStatus) {
case RIDERARRIVESTORE:
case RIDERGETMEAL:
case RIDERSTARTDELIVERY:
case DELIVERYARRIVED:
return ResponseUtil.error(ResponseResult.ORDER_STATUS_FAILED);
default:
break;
}
return ResponseUtil.success();
}
/**
* 是否是外卖 * 是否是外卖
* *
* @param orderBean * @param orderBean
......
package cn.freemud.management.service.impl; package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.LogTreadLocal;
import cn.freemud.base.util.JsonUtil; import cn.freemud.base.util.JsonUtil;
import cn.freemud.management.adapter.DeliverySdkAdapter; import cn.freemud.management.adapter.DeliverySdkAdapter;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse; import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse; import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.*; import cn.freemud.management.enums.DeliveryStatus;
import cn.freemud.management.enums.OperateType;
import cn.freemud.management.enums.RefundStatus; import cn.freemud.management.enums.RefundStatus;
import cn.freemud.management.enums.ResponseResult; import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.intercept.OrderServiceException; import cn.freemud.management.intercept.OrderServiceException;
...@@ -14,45 +16,35 @@ import cn.freemud.management.service.OrderBaseService; ...@@ -14,45 +16,35 @@ import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.service.OrderManagerService; import cn.freemud.management.service.OrderManagerService;
import cn.freemud.management.service.handle.*; import cn.freemud.management.service.handle.*;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig;
import com.freemud.application.sdk.api.couponcenter.offline.domain.TransactionVO;
import com.freemud.application.sdk.api.couponcenter.offline.request.CouponRequest;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.enums.AbnormalStateEnum;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq; import com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExpressReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExpressReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.service.EmailAlertService; import com.freemud.application.sdk.api.service.EmailAlertService;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.order.enums.*; import com.freemud.sdk.api.assortment.order.enums.OldOrderStatus;
import com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest; import com.freemud.sdk.api.assortment.order.enums.OrderSourceType;
import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse; import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import com.freemud.sdk.api.assortment.order.enums.PayType;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; 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.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.Arrays;
import java.util.function.Function; import java.util.List;
import java.util.stream.Collectors; import java.util.Objects;
import java.util.UUID;
import static cn.freemud.management.enums.OperateType.ORDER_AGREE_REFUND; import static cn.freemud.management.enums.OperateType.ORDER_AGREE_REFUND;
import static cn.freemud.management.enums.OperateType.ORDER_CANCEL;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -363,4 +355,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -363,4 +355,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
@Override
public BaseResponse<OrderManagerResponse> orderRecreateDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
// 查询门店信息
StoreResponse storeInfo = storeCenterService.getStoreInfo(new StoreInfoRequest(orderBean.getCompanyId(), orderBean.getShopId()), LogTreadLocal.getTrackingNo());
return deliveryHandle.createDelivery(orderBean,request,storeInfo);
}
} }
...@@ -12,7 +12,8 @@ public enum OperateType { ...@@ -12,7 +12,8 @@ public enum OperateType {
ORDER_AGREE_REFUND("orderAgreeRefund","同意退款"), ORDER_AGREE_REFUND("orderAgreeRefund","同意退款"),
ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"), ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"),
ORDER_CANCEL("orderCancel","订单取消"), ORDER_CANCEL("orderCancel","订单取消"),
ORDER_SWITCH_SELF_DELIVERY("orderSwitchSelfDelivery","切换自配送"); ORDER_SWITCH_SELF_DELIVERY("orderSwitchSelfDelivery","切换自配送"),
ORDER_RECREATE_DELIVERY("orderRecreateDelivery","重新呼叫骑手");
/** /**
......
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