Commit 74e19d62 by 刘继明

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

# Conflicts:
#	order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
#	order-management/src/main/java/cn/freemud/management/enums/OperateType.java
#	order-management/src/main/java/cn/freemud/management/service/OrderManagerService.java
#	order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
#	order-management/src/main/java/cn/freemud/management/service/impl/OrderDeliveryService.java
#	order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
#	order-management/src/main/java/cn/freemud/management/service/impl/WaimaiOrderMangerServiceImpl.java
#	ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/OperateType.java
parents 2215d754 e9073c62
...@@ -11,12 +11,14 @@ import cn.freemud.management.util.ResponseUtil; ...@@ -11,12 +11,14 @@ import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams; import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -64,6 +66,8 @@ public class OrderManagerController { ...@@ -64,6 +66,8 @@ public class OrderManagerController {
return orderManagerAdapter.orderRejectRefund(request); return orderManagerAdapter.orderRejectRefund(request);
case ORDER_CANCEL: case ORDER_CANCEL:
return orderManagerAdapter.orderCancel(request); return orderManagerAdapter.orderCancel(request);
case ORDER_SWITCH_SELF_DELIVERY:
return orderManagerAdapter.orderSwitchSelfDelivery(request);
default: default:
return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE); return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE);
} }
......
...@@ -11,7 +11,9 @@ public enum OperateType { ...@@ -11,7 +11,9 @@ public enum OperateType {
ORDER_AFFIRM("orderAffirm","完成"), ORDER_AFFIRM("orderAffirm","完成"),
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","切换自配送");
/** /**
* 操作类型 * 操作类型
......
...@@ -88,5 +88,15 @@ public interface OrderManagerService { ...@@ -88,5 +88,15 @@ public interface OrderManagerService {
return ResponseUtil.success(); return ResponseUtil.success();
} }
/**
* 切换为自配送
* @param request
* @param orderBean
* @return
*/
default BaseResponse<OrderManagerResponse> orderSwitchSelfDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean){
return ResponseUtil.success();
}
} }
...@@ -274,4 +274,22 @@ public class OrderManagerAdapter { ...@@ -274,4 +274,22 @@ public class OrderManagerAdapter {
result.setResult(new OrderManagerResponse(orderStatus,refundStatus)); result.setResult(new OrderManagerResponse(orderStatus,refundStatus));
return result; return result;
} }
/**
* 切换自配送
* @param request
* @return
*/
public BaseResponse orderSwitchSelfDelivery(OrderManagerRequest request) {
//查询订单
QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId());
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyHandle.orderSwitchSelfDelivery(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return handleResponse(request,orderBean,verifyResponse);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderSwitchSelfDelivery(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
}
} }
...@@ -11,7 +11,6 @@ import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; ...@@ -11,7 +11,6 @@ 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.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -60,4 +59,5 @@ public class OrderDeliveryService { ...@@ -60,4 +59,5 @@ public class OrderDeliveryService {
} }
} }
...@@ -2,13 +2,13 @@ package cn.freemud.management.service.impl; ...@@ -2,13 +2,13 @@ package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.JsonUtil; import cn.freemud.base.util.JsonUtil;
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.OperateType; import cn.freemud.management.enums.*;
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.enums.SettlementTypeEnum;
import cn.freemud.management.intercept.OrderServiceException; import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.OrderBaseService; import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.service.OrderManagerService; import cn.freemud.management.service.OrderManagerService;
...@@ -25,6 +25,7 @@ import com.freemud.application.sdk.api.ordercenter.enums.AbnormalStateEnum; ...@@ -25,6 +25,7 @@ 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.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.request.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
...@@ -87,6 +88,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -87,6 +88,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
@Autowired @Autowired
private EmailAlertService emailAlertService; private EmailAlertService emailAlertService;
@Autowired
private DeliverySdkAdapter deliverySdkAdapter;
private static final int SUCCESS = 100; private static final int SUCCESS = 100;
/** /**
...@@ -259,6 +262,23 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -259,6 +262,23 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
@Override
public BaseResponse<OrderManagerResponse> orderSwitchSelfDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//设置自配送--三方订单(美团、饿了么)使用订单表中 expressTyp, saas订单根据delivery_info表中 配送员 的 addressDetail字段为self
request.setReason(OperateType.ORDER_SWITCH_SELF_DELIVERY.getOpName());
return updateDeliveryInfo(deliverySdkAdapter.buildOrderExpressReq(request, DeliveryStatus.RIDERSTARTDELIVERY));
}
/**
* 修改配送信息和状态,并转换返回
* @param expressReq
* @return
*/
private BaseResponse updateDeliveryInfo(OrderExpressReq expressReq){
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response= orderSdkService.updateDeliveryInfo(expressReq, "");
return ResponseUtil.error(response.getCode(),response.getMessage());
}
/** /**
* 退款操作 * 退款操作
......
...@@ -153,4 +153,6 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService { ...@@ -153,4 +153,6 @@ public class WaimaiOrderMangerServiceImpl implements OrderManagerService {
return ResponseUtil.success(); return ResponseUtil.success();
} }
} }
...@@ -11,7 +11,8 @@ public enum OperateType { ...@@ -11,7 +11,8 @@ public enum OperateType {
ORDER_AFFIRM("orderAffirm","完成"), ORDER_AFFIRM("orderAffirm","完成"),
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","切换自配送");
/** /**
......
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