Commit 6e3510a5 by 徐康

收到汇集回调后,推送订单到拉单队列

parent f1c2063a
......@@ -28,6 +28,7 @@ public enum DeliveryStatus {
DELIVERYERROR(7,"运单异常"),
DELIVERYCANCEL(8,"运单取消"),
DELIVERY_CREATE_SUCCESS(9, "创建配送单成功"),
COLLECTING(99, "开始汇集"),
;
private int code;
......
......@@ -158,6 +158,7 @@ public enum ResponseResult {
ORDER_MEALTIME_MISSING("450063", "你的取餐方式或取餐时间异常,请重新选择!"),
ORDER_TAKE_OUT_TIME_ERROR("450062", "你的外卖送达时间异常,请重新选择!"),
ORDER_TAKE_OUT_ADDRESS_NOT_VALID("45063", "收货地址校验失败"),
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