Commit 28dd3104 by shuhu.hou@freemud.cn

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

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