Commit 6513658e by 姜海波

Merge branch 'develop' of…

Merge branch 'develop' of http://gitlab.freemud.com/order-group-application/order-group into develop
parents 6dfd6267 0b73c017
......@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.5.2-SNAPSHOT</version>
<version>1.5.3-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
......
......@@ -40,3 +40,4 @@
| 1.5.0-SNAPSHOT | APP渠道 | 丁凯 | 2020-04-22 |
| 1.5.1-SNAPSHOT | oms订单正向操作 | 侯书虎 | 2020-04-23 |
| 1.5.2-SNAPSHOT | 预约单打印 | 海波 | 2020-04-23 |
| 1.5.3-SNAPSHOT | 放开常用方法修饰符 | 李小二 | 2020-04-23 |
......@@ -1883,7 +1883,7 @@ public class OrderSdkAdapter {
return newOrderAfterSalesStatus;
}
private String getNewOrderTypeDesc(Integer orderType) {
public String getNewOrderTypeDesc(Integer orderType) {
String name = "";
//外卖平台订单类型 1=常规堂食,2=预约堂食,3=常规外送,4=预约外送,5=常规自取,6=预约自取
switch (orderType) {
......@@ -1912,7 +1912,7 @@ public class OrderSdkAdapter {
}
private String getNewOrderStatusDesc(Integer orderStatus) {
public String getNewOrderStatusDesc(Integer orderStatus) {
String name = "";
//新订单服务 订单状态 1:待支付 2:下单 3:已接单 4:制作完成(待发货) 5:配送中 6:已完 7:已关闭
switch (orderStatus) {
......@@ -2874,4 +2874,31 @@ public class OrderSdkAdapter {
}
}
/**
* 异常单转换
* @param abnormalState
* @return
*/
public String getAbnormalName(Integer abnormalState) {
String name = "";
switch (abnormalState) {
case 0: {
name = "正常";
break;
}
case 1: {
name ="系统接单异常";
break;
}
case 2: {
name="骑手上报异常";
break;
}
case 3: {
name ="系统退单异常";
break;
}
}
return name;
}
}
......@@ -23,6 +23,7 @@ import cn.freemud.entities.dto.UserLoginInfoDto;
import cn.freemud.entities.dto.WechatReportOrderDto;
import cn.freemud.entities.vo.OrderCallBackRequestVo;
import cn.freemud.redis.RedisCache;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager;
......@@ -229,7 +230,7 @@ public class OrderCallBackMQService {
*/
private void sendnvoiceReportMQ(OrderCallBackRequestVo body) {
log.info("sendnvoiceReportMQ:{},{}",body.getOrderCode(), body.getContent());
log.info("sendnvoiceReportMQ:{},{}",body.getOrderCode(), JSON.toJSONString(body));
if (!ObjectUtils.equals("1", body.getMsgType()) || body.getOperateType() == null || body.getOperateType() == 2) {
return ;
}
......
......@@ -36,8 +36,8 @@ public class OrderManagerController {
private OrderManagerAdapter orderManagerAdapter;
@ApiAnnotation(logMessage = "订单履单")
@ApiOperation(value = "订单履单", notes = "订单履单", produces = "application/json")
@ApiAnnotation(logMessage = "oms订单履单")
@ApiOperation(value = "oms订单履单", notes = "订单履单", produces = "application/json")
@PostMapping("/statusOperate")
public BaseResponse deliveryCreate(@Validated @LogParams @RequestBody OrderManagerRequest request) {
OperateType byOpType = OperateType.getByOpType(request.getOperateType());
......
......@@ -55,37 +55,26 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
/**
* 接单
* @param request 请求参数
*
* @param request 请求参数
* @param orderBean 订单实体
* @return
*/
@Override
public BaseResponse<OrderManagerResponse> orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//退款状态
RefundStatus refundStatus = CollectionUtils.isEmpty(orderBean.getRefundList()) ? null : RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus());
//订单接单
BaseQueryOrderRequest orderConfirmRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
BaseOrderResponse confirmOrderResponse = orderCenterSdkService.orderConfirmTake(orderConfirmRequest);
// 订单接单
saasOrderService.orderAffirm(request, orderBean);
//获取门店信息
StoreResponse storeInfo = storeCenterService.getStoreInfo(new StoreInfoRequest(orderBean.getCompanyId(), orderBean.getShopId()),"");
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),storeInfo.getStatusCode().toString()) || storeInfo.getBizVO() == null) {
StoreResponse storeInfo = storeCenterService.getStoreInfo(new StoreInfoRequest(orderBean.getCompanyId(), orderBean.getShopId()), "");
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), storeInfo.getStatusCode().toString()) || storeInfo.getBizVO() == null) {
return ResponseUtil.error(ResponseResult.STORE_NOT_FOUND);
}
//处理1秒重复接单问题 订单服务接单返回20067重复操作,20018状态机不支持认为接单成功
if ("20067".equals(confirmOrderResponse.getErrcode().toString()) || "20018".equals(confirmOrderResponse.getErrcode().toString()) || "50002".equals(confirmOrderResponse.getErrcode().toString()) ) {
return ResponseUtil.success(new OrderManagerResponse(storeInfo.getBizVO().getOrderPrintConfig(),orderBean.getGmtExpect(),refundStatus));
}
if( ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),confirmOrderResponse.getErrcode().toString())){
return ResponseUtil.error(ResponseResult.ORDER_ACCEPT_FAILED);
}
//创建配送单
Pair<Boolean, String> deliveryResponse = orderDeliveryService.createDelivery(orderBean, storeInfo, request.getOperator());
if (!deliveryResponse.getKey()){
return ResponseUtil.error(ResponseResult.ORDER_ACCEPT_FAILED_CREATE_DELIVERY_FAILED);
}
// 创建配送单
orderDeliveryService.createDelivery(orderBean, storeInfo, request.getOperator());
// 推送pos消息中心
orderBaseService.sendMessage(orderBean, OperateType.ORDER_CONFIRM,request.getReason());
return ResponseUtil.success(new OrderManagerResponse(storeInfo.getBizVO().getOrderPrintConfig(),orderBean.getGmtExpect(),refundStatus));
orderBaseService.sendMessage(orderBean, OperateType.ORDER_CONFIRM, request.getReason());
return ResponseUtil.success(new OrderManagerResponse(storeInfo.getBizVO().getOrderPrintConfig(), orderBean.getGmtExpect(),
CollectionUtils.isEmpty(orderBean.getRefundList()) ? null : RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus())));
}
/**
......@@ -97,14 +86,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderDone(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//订单制作完成
BaseQueryOrderRequest orderDoneRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderDone(orderDoneRequest);
if (baseOrderResponse==null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),baseOrderResponse.getErrcode().toString())){
return ResponseUtil.error(ResponseResult.DELIVERY_FAIL);
}
// 订单制作完成
saasOrderService.orderDone(request, orderBean);
// 推送pos消息中心
orderBaseService.sendMessage(orderBean, OperateType.ORDER_DONE,request.getReason());
orderBaseService.sendMessage(orderBean, OperateType.ORDER_DONE, request.getReason());
return ResponseUtil.success();
}
......@@ -117,14 +102,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//订单配送
BaseQueryOrderRequest orderDeliveryRequest = orderSdkAdapter.getOrderDeliveryRequest(request.getOperator(), orderBean);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderSend(orderDeliveryRequest);
if (baseOrderResponse==null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),baseOrderResponse.getErrcode().toString())){
return ResponseUtil.error(ResponseResult.DELIVERY_FAIL);
}
// 订单配送
saasOrderService.orderDelivery(request, orderBean);
// 推送pos消息中心
orderBaseService.sendMessage(orderBean, OperateType.ORDER_SEND,request.getReason());
orderBaseService.sendMessage(orderBean, OperateType.ORDER_SEND, request.getReason());
return ResponseUtil.success();
}
......@@ -137,14 +118,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderAffirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//订单完成
BaseQueryOrderRequest orderAffirmRequest = orderSdkAdapter.getOrderDeliveryRequest(request.getOperator(), orderBean);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderAffirm(orderAffirmRequest);
if (baseOrderResponse==null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),baseOrderResponse.getErrcode().toString())){
return ResponseUtil.error(ResponseResult.DELIVERY_FAIL);
}
// 订单完成
saasOrderService.orderAffirm(request, orderBean);
// 推送pos消息中心
orderBaseService.sendMessage(orderBean, OperateType.ORDER_AFFIRM,request.getReason());
orderBaseService.sendMessage(orderBean, OperateType.ORDER_AFFIRM, request.getReason());
return ResponseUtil.success();
}
......
......@@ -2,6 +2,7 @@ package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.util.ResponseUtil;
......@@ -33,6 +34,27 @@ public class SaasOrderService {
@Autowired
private OrderCenterSdkService orderCenterSdkService;
/**
* 确认接单
* @param request
* @param orderBean
* @return
*/
public BaseResponse orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean){
//订单接单
BaseQueryOrderRequest orderConfirmRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
BaseOrderResponse confirmOrderResponse = orderCenterSdkService.orderConfirmTake(orderConfirmRequest);
//处理1秒重复接单问题 订单服务接单返回20067重复操作,20018状态机不支持认为接单成功
if ("20067".equals(confirmOrderResponse.getErrcode().toString()) || "20018".equals(confirmOrderResponse.getErrcode().toString()) || "50002".equals(confirmOrderResponse.getErrcode().toString()) ) {
return ResponseUtil.success();
}
if( ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),confirmOrderResponse.getErrcode().toString())){
throw new OrderServiceException(ResponseResult.ORDER_ACCEPT_FAILED);
}
return ResponseUtil.success();
}
/**
* 订单制作完成
* @param request
......
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