Commit 28dd3104 by shuhu.hou@freemud.cn

oms订单履单正向流程修复履单流程

parent 37dea919
......@@ -34,6 +34,8 @@ public enum OrderSourceType {
MEAL("meal", "i围餐"),
ALIPAY("alipay", "支付宝"),
SAASMALL("saasmall", "微商城"),
;
......
......@@ -49,6 +49,7 @@ public class OrderManagerAdapter {
/**
* 制作完成
*
* @param request
* @return
*/
......@@ -58,14 +59,15 @@ public class OrderManagerAdapter {
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyService.orderDoneVerify(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return handleResponse(request,orderBean,verifyResponse);
return handleResponse(request, orderBean, verifyResponse);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderDone(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
return handleResponse(request, orderBean, orderManagerResponse);
}
/**
* 送出
* 送出
*
* @param request
* @return
*/
......@@ -73,64 +75,65 @@ public class OrderManagerAdapter {
//查询订单
QueryOrdersResponse.DataBean.OrderBean orderBean = orderBaseService.getByOrderCode(request.getOrderId());
/*****兼容爱马哥,送出即完成start******/
if (orderBean.getType().equals(OldOrderType.TAKE_OUT.getCode())){
orderAffirm(request,orderBean);
if (!OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
return orderAffirm(request, orderBean);
}
/*****容爱马哥,送出即完成end******/
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyService.orderDeliveryVerify(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return StringUtils.equals(verifyResponse.getCode(), ResponseResult.ORDER_IS_COMPLETE_CAN_NOT_DELIVERY.getCode()) ? handleResponse(request,orderBean,ResponseUtil.success()) : handleResponse(request,orderBean,verifyResponse);
return StringUtils.equals(verifyResponse.getCode(), ResponseResult.ORDER_IS_COMPLETE_CAN_NOT_DELIVERY.getCode()) ? handleResponse(request, orderBean, ResponseUtil.success()) : handleResponse(request, orderBean, verifyResponse);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderDelivery(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
return handleResponse(request, orderBean, orderManagerResponse);
}
/**
* 完成
*
* @param request
* @return
*/
public BaseResponse<OrderManagerResponse> orderAffirm(OrderManagerRequest request,QueryOrdersResponse.DataBean.OrderBean orderBean) {
if (orderBean==null){
public BaseResponse<OrderManagerResponse> orderAffirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
if (orderBean == null) {
//查询订单
orderBean = orderBaseService.getByOrderCode(request.getOrderId());
}
//订单接单参数校验
BaseResponse verifyResponse = orderVerifyService.orderAffirmVerify(orderBean, request);
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return handleResponse(request,orderBean,verifyResponse);
return handleResponse(request, orderBean, verifyResponse);
}
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderAffirm(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
return handleResponse(request, orderBean, orderManagerResponse);
}
private BaseResponse<OrderManagerResponse> handleResponse(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean,BaseResponse result) {
if (orderBean==null){
private BaseResponse<OrderManagerResponse> handleResponse(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean, BaseResponse result) {
if (orderBean == null) {
return result;
}
RefundStatus refundStatus = CollectionUtils.isNotEmpty(orderBean.getRefundList()) ? RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus()) : null;
OrderStatus orderStatus = OrderStatus.getByCode(orderBean.getStatus());
if (ObjectUtils.equals(ResponseResult.SUCCESS.getCode(),result.getCode())){
if (ObjectUtils.equals(ResponseResult.SUCCESS.getCode(), result.getCode())) {
OperateType byOpType = OperateType.getByOpType(request.getOperateType());
switch (byOpType) {
case ORDER_CONFIRM:
orderStatus=OrderStatus.RECEIPT;
orderStatus = OrderStatus.RECEIPT;
break;
case ORDER_DONE:
orderStatus=OrderStatus.COMPLETE_MAKE;
orderStatus = OrderStatus.COMPLETE_MAKE;
break;
case ORDER_SEND:
orderStatus=OrderStatus.DISTRIBUTION;
orderStatus = OrderStatus.DISTRIBUTION;
break;
case ORDER_AFFIRM:
orderStatus=OrderStatus.COMPLETE;
orderStatus = OrderStatus.COMPLETE;
break;
default:
}
return ResponseUtil.success(new OrderManagerResponse(orderStatus,refundStatus));
return ResponseUtil.success(new OrderManagerResponse(orderStatus, refundStatus));
}
result.setResult(new OrderManagerResponse(orderStatus,refundStatus));
result.setResult(new OrderManagerResponse(orderStatus, refundStatus));
return result;
}
......
......@@ -108,7 +108,7 @@ public class OrderDeliveryService {
if (1 != orderBean.getType()) {
return new Pair<>(false, "该订单不是外卖类型订单");
}
if (!orderBean.getSource().equalsIgnoreCase(OrderSourceType.SAAS.getCode())) {
if (!orderBean.getSource().equalsIgnoreCase(OrderSourceType.SAAS.getCode()) || !orderBean.getSource().equalsIgnoreCase(OrderSourceType.ALIPAY.getCode())) {
return new Pair<>(false, "订单来源异常");
}
//配送信息为空,则不创建配送单
......
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