Commit 2973383b by 徐康

麦咖啡收到汇集回调后,把订单加入入机拉单队列

parent 70045aad
......@@ -40,7 +40,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.0.10-SNAPSHOT</version>
<version>2.0.16-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -28,6 +28,7 @@ public enum DeliveryStatus {
DELIVERYERROR(7,"运单异常"),
DELIVERYCANCEL(8,"运单取消"),
DELIVERY_CREATE_SUCCESS(9, "创建配送单成功"),
COLLECTING(99, "开始汇集"),
;
private int code;
......
......@@ -147,6 +147,7 @@ public enum ResponseResult {
ORDER_TAKEMEALTIME_INVALID("45061", "你的隔日预约时间有误,请重新刷新后选择!"),
ORDER_CONVERT_ERROR("45062", "查询订单结果转换失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
ORDER_COLLECT_FAILED("45084", "推送入机失败,配送回调失败"),
/**
* 支付
*/
......
......@@ -2,6 +2,7 @@ package cn.freemud.service.delivery;
import cn.freemud.amp.service.ProduceMQService;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.LogTreadLocal;
import cn.freemud.entities.dto.delivery.*;
import cn.freemud.entities.dto.pos.PosBaseRequestDto;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo;
......@@ -19,11 +20,14 @@ import cn.freemud.service.thirdparty.PosClient;
import cn.freemud.utils.LogUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryInfoDto;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.request.OrderCollectReq;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.sdk.api.assortment.order.request.order.AssortmentUpdateDeliveryAbnormalRequest;
import com.freemud.sdk.api.assortment.order.request.order.UpdateDeliveryInfoByIdRequest;
import com.freemud.sdk.api.assortment.order.response.order.OrderBaseResponse;
......@@ -65,6 +69,8 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
private DeliveryFeiginClient deliveryFeiginClient;
@Autowired
private OrderManagerAdapter orderManagerAdapter;
@Autowired
private OrderSdkService orderSdkService;
@Override
public BaseResponse callbackUrl(CallbackUrlRequestDto request) {
......@@ -172,6 +178,22 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
} else if(deliveryStatus == DeliveryStatus.WATINGORDER.getCode() || deliveryStatus == DeliveryStatus.SYSTEMGETORDER.getCode()
|| deliveryStatus == DeliveryStatus.ALLOTRIDER.getCode()|| deliveryStatus == DeliveryStatus.RIDERARRIVESTORE.getCode()) {
return ResponseUtil.success();
} else if(deliveryStatus == DeliveryStatus.COLLECTING.getCode()) {
//推送订单到拉单队列
OrderCollectReq orderCollectReq = new OrderCollectReq();
orderCollectReq.setOrderCode(request.getOrderId());
orderCollectReq.setPartnerId(request.getPartnerId());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.collectOrder(orderCollectReq, LogTreadLocal.getTrackingNo());
if(ResponseConstant.SUCCESS_RESPONSE_CODE_STR.equals(baseResponse.getCode())) {
ResponseUtil.error(ResponseResult.ORDER_COLLECT_FAILED);
}
//回调成功,记录汇集状态
UpdateDeliveryInfoByIdRequest updateDeliveryInfoByIdRequest = new UpdateDeliveryInfoByIdRequest();
updateDeliveryInfoByIdRequest.setOrderId(request.getOrderId());
updateDeliveryInfoByIdRequest.setOrderSubState(DeliveryStatus.COLLECTING.getCode());
updateDeliveryInfoByIdRequest.setOperator("sys");
orderCenterSdkService.updateDeliveryInfoById(updateDeliveryInfoByIdRequest);
return ResponseUtil.success();
}
return ResponseUtil.error(ResponseResult.ORDER_DELIVERY_CALL_BACK_FAILED);
}
......
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