Commit 5f991d25 by chongfu.liang

配送单取消/异常时推送pos

parent edbd5f5c
package cn.freemud.service.delivery;
import cn.freemud.adapter.MessageNoticeAdapter;
import cn.freemud.amp.service.ProduceMQService;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.LogTreadLocal;
......@@ -29,11 +30,14 @@ 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.application.sdk.api.structure.request.PushMessageNoticeDto;
import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
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;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
......@@ -72,6 +76,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
private OrderManagerAdapter orderManagerAdapter;
@Autowired
private OrderSdkService orderSdkService;
@Autowired
private MessageNoticeAdapter messageNoticeAdapter;
@Autowired
private MessageCenterClient messageNoticeClient;
@Override
public BaseResponse callbackUrl(CallbackUrlRequestDto request) {
......@@ -122,6 +130,13 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
// 订单已完成
sendPosService(deliveryStatus,posBaseRequestDto);
} else if (deliveryStatus == DeliveryStatus.DELIVERYERROR.getCode() || deliveryStatus == DeliveryStatus.DELIVERYCANCEL.getCode()) {
Integer sendPosDeliveryStatus;
if (deliveryStatus == DeliveryStatus.DELIVERYERROR.getCode()){
sendPosDeliveryStatus = 71;
} else {
sendPosDeliveryStatus = 81;
}
sendPosMessage(partnerId, storeCode, request.getOrderId(), sendPosDeliveryStatus);
// 取消外卖中台配送单 订单异常
// 如果 "配送单异常并且顾客更改配送地址" 不取消配送单
......@@ -307,4 +322,28 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
orderCenterSdkService.updateDeliveryAbnormal(request);
}
/**
* 发送pos端消息
*/
public void sendPosMessage(String partnerId, String storeId, String orderId, Integer deliveryStatus) {
PushMessageNoticeDto pushMessageNoticeDto = new PushMessageNoticeDto();
pushMessageNoticeDto.setPartnerId(partnerId);
pushMessageNoticeDto.setStoreId(storeId);
pushMessageNoticeDto.setTargetId(null);
pushMessageNoticeDto.setTargetType(2);
pushMessageNoticeDto.setCmd(11);
PushMessageNoticeDto.Message message = new PushMessageNoticeDto.Message();
message.setType(1);
PushMessageNoticeDto.Message.Content content = new PushMessageNoticeDto.Message.Content();
content.setOid(orderId);
content.setDeliveryStatus(deliveryStatus);
message.setContent(content);
pushMessageNoticeDto.setData(new Gson().toJson(message));
messageNoticeClient.createMessage(pushMessageNoticeDto, LogThreadLocal.getTrackingNo());
}
}
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