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;
import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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
......@@ -64,6 +66,8 @@ public class OrderManagerController {
return orderManagerAdapter.orderRejectRefund(request);
case ORDER_CANCEL:
return orderManagerAdapter.orderCancel(request);
case ORDER_SWITCH_SELF_DELIVERY:
return orderManagerAdapter.orderSwitchSelfDelivery(request);
default:
return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE);
}
......
......@@ -11,7 +11,9 @@ public enum OperateType {
ORDER_AFFIRM("orderAffirm","完成"),
ORDER_AGREE_REFUND("orderAgreeRefund","同意退款"),
ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"),
ORDER_CANCEL("orderCancel","订单取消");
ORDER_CANCEL("orderCancel","订单取消"),
ORDER_SWITCH_SELF_DELIVERY("orderSwitchSelfDelivery","切换自配送");
/**
* 操作类型
......
......@@ -88,5 +88,15 @@ public interface OrderManagerService {
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 {
result.setResult(new OrderManagerResponse(orderStatus,refundStatus));
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;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
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.stereotype.Service;
......@@ -60,4 +59,5 @@ public class OrderDeliveryService {
}
}
......@@ -2,13 +2,13 @@ package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse;
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.response.order.OrderManagerResponse;
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.ResponseResult;
import cn.freemud.management.enums.SettlementTypeEnum;
import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.service.OrderManagerService;
......@@ -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.OrderClientType;
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.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
......@@ -87,6 +88,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
private OrderSdkService orderSdkService;
@Autowired
private EmailAlertService emailAlertService;
@Autowired
private DeliverySdkAdapter deliverySdkAdapter;
private static final int SUCCESS = 100;
/**
......@@ -259,6 +262,23 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
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 {
return ResponseUtil.success();
}
}
......@@ -11,7 +11,8 @@ public enum OperateType {
ORDER_AFFIRM("orderAffirm","完成"),
ORDER_AGREE_REFUND("orderAgreeRefund","同意退款"),
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