Commit aef1b803 by shuhu.hou@freemud.cn

Merge branch 'feature/20200420_oms接单二期' into develop

parents 0d19821e 28dd3104
...@@ -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", "微商城"),
APP("app", "APP"), APP("app", "APP"),
......
...@@ -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, "订单来源异常");
} }
//配送信息为空,则不创建配送单 //配送信息为空,则不创建配送单
......
...@@ -63,7 +63,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -63,7 +63,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
// 订单接单 // 订单接单
saasOrderService.orderAffirm(request, orderBean); saasOrderService.orderConfirm(request, orderBean);
//获取门店信息 //获取门店信息
StoreResponse storeInfo = storeCenterService.getStoreInfo(new StoreInfoRequest(orderBean.getCompanyId(), orderBean.getShopId()), ""); StoreResponse storeInfo = storeCenterService.getStoreInfo(new StoreInfoRequest(orderBean.getCompanyId(), orderBean.getShopId()), "");
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), storeInfo.getStatusCode().toString()) || storeInfo.getBizVO() == null) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), storeInfo.getStatusCode().toString()) || storeInfo.getBizVO() == null) {
......
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