Commit e1d09fb7 by huiyang.chen

入机

parent 35e202e1
...@@ -166,6 +166,7 @@ public enum ResponseResult { ...@@ -166,6 +166,7 @@ public enum ResponseResult {
ORDER_REJECT_REFUND_STATUS_END("45081","订单未接单或者已取消,不能操作"), ORDER_REJECT_REFUND_STATUS_END("45081","订单未接单或者已取消,不能操作"),
REJECT_REFUND_ORDER_FAIL("45082", "拒绝退款失败"), REJECT_REFUND_ORDER_FAIL("45082", "拒绝退款失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"), ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
ORDER_UPDATE_PICKUP_FAILED("45084", "更新取餐码失败"),
/** /**
* 支付 * 支付
*/ */
...@@ -208,6 +209,8 @@ public enum ResponseResult { ...@@ -208,6 +209,8 @@ public enum ResponseResult {
DELIVERY_QUERY_ERROR("50024","查询配送单失败"), DELIVERY_QUERY_ERROR("50024","查询配送单失败"),
DELIVERY_CANCEL_ORDER_ERROR("53012", "取消配送单失败"), DELIVERY_CANCEL_ORDER_ERROR("53012", "取消配送单失败"),
DELIVERY_CREATE_ORDER_ERROR("53013", "创建配送单失败"), DELIVERY_CREATE_ORDER_ERROR("53013", "创建配送单失败"),
DELIVERY_ASSEMBLY_ACK_ERROR("53014", "麦咖啡同步取餐码给配送失败"),
DELIVERY_ORDER_STOP_ERROR("53015", "配送单停单失败"),
/** /**
* 配送信息 * 配送信息
......
...@@ -12,6 +12,7 @@ import cn.freemud.management.intercept.OrderServiceException; ...@@ -12,6 +12,7 @@ import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.OrderBaseService; import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient; import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse; import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse;
import com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto; import com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto;
import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto; import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto;
...@@ -19,6 +20,7 @@ import com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrd ...@@ -19,6 +20,7 @@ import com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrd
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto; import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService; import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.service.EmailAlertService;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.enums.OrderSourceType; import com.freemud.sdk.api.assortment.order.enums.OrderSourceType;
...@@ -61,6 +63,8 @@ public class DeliveryHandle { ...@@ -61,6 +63,8 @@ public class DeliveryHandle {
private OrderBaseService orderBaseService; private OrderBaseService orderBaseService;
@Autowired @Autowired
private DeliveryMCCafeClient deliveryMCCafeClient; private DeliveryMCCafeClient deliveryMCCafeClient;
@Autowired
private EmailAlertService emailAlertService;
/** /**
...@@ -140,7 +144,8 @@ public class DeliveryHandle { ...@@ -140,7 +144,8 @@ public class DeliveryHandle {
deliveryOrderHaltedRequest.setStoreId(data.getShopId()); deliveryOrderHaltedRequest.setStoreId(data.getShopId());
DeliveryResponseDto deliveryResponse = deliveryMCCafeClient.halted(deliveryOrderHaltedRequest); DeliveryResponseDto deliveryResponse = deliveryMCCafeClient.halted(deliveryOrderHaltedRequest);
if (deliveryResponse == null || !StringUtils.equals(ResponseResult.SUCCESS.getCode(), deliveryResponse.getCode()+"")) { if (deliveryResponse == null || !StringUtils.equals(ResponseResult.SUCCESS.getCode(), deliveryResponse.getCode()+"")) {
return ResponseUtil.error(ResponseResult.DELIVERY_CANCEL_ORDER_ERROR); emailAlertService.sendEmailAlert("配送单停单失败", String.format("request:%s \r\nresponse:%s", JSONObject.toJSONString(deliveryOrderHaltedRequest), JSONObject.toJSONString(deliveryResponse)));
return ResponseUtil.error(ResponseResult.DELIVERY_ORDER_STOP_ERROR);
} }
} }
return ResponseUtil.success(); return ResponseUtil.success();
......
...@@ -74,7 +74,10 @@ public class SaasOrderHandle { ...@@ -74,7 +74,10 @@ public class SaasOrderHandle {
relatingCodeReq.setOperator(request.getOperator()); relatingCodeReq.setOperator(request.getOperator());
relatingCodeReq.setPartnerId(request.getPartnerId()); relatingCodeReq.setPartnerId(request.getPartnerId());
relatingCodeReq.setPickUpGoodsNo(request.getPickUpGoodsNo()); relatingCodeReq.setPickUpGoodsNo(request.getPickUpGoodsNo());
orderCenterSdkService.updatePickUpGoodNo(relatingCodeReq, LogThreadLocal.getTrackingNo()); BaseOrderResponse baseOrderResponse = orderCenterSdkService.updatePickUpGoodNo(relatingCodeReq, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.ORDER_UPDATE_PICKUP_FAILED);
}
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
package cn.freemud.management.service.impl; package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil;
import cn.freemud.management.entities.dto.request.delivery.DeliveryOrderAssemblyackRequest; import cn.freemud.management.entities.dto.request.delivery.DeliveryOrderAssemblyackRequest;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse; import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
...@@ -10,6 +11,7 @@ import cn.freemud.management.service.OrderManagerService; ...@@ -10,6 +11,7 @@ import cn.freemud.management.service.OrderManagerService;
import cn.freemud.management.service.handle.*; import cn.freemud.management.service.handle.*;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient; import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.sdk.api.assortment.message.enums.OrderType; import com.freemud.sdk.api.assortment.message.enums.OrderType;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -59,7 +61,10 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -59,7 +61,10 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
if (!Objects.equals(orderBean.getOrderType(), OrderType.TAKE_OUT.getCode())) { if (!Objects.equals(orderBean.getOrderType(), OrderType.TAKE_OUT.getCode())) {
if (StringUtils.isNotEmpty(request.getPickUpGoodsNo())){ if (StringUtils.isNotEmpty(request.getPickUpGoodsNo())){
//更新取餐码 //更新取餐码
saasOrderHandle.updatePickUpGoodNo(request,orderBean); BaseResponse baseResponse = saasOrderHandle.updatePickUpGoodNo(request, orderBean);
if (!ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode())){
return ResponseUtil.error(ResponseResult.ORDER_UPDATE_PICKUP_FAILED);
}
SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
DeliveryOrderAssemblyackRequest assemblyAckRequest =new DeliveryOrderAssemblyackRequest(); DeliveryOrderAssemblyackRequest assemblyAckRequest =new DeliveryOrderAssemblyackRequest();
...@@ -68,12 +73,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -68,12 +73,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
assemblyAckRequest.setAssemblyTimeUTC(dateFormat.format(new Date())); assemblyAckRequest.setAssemblyTimeUTC(dateFormat.format(new Date()));
assemblyAckRequest.setStoreId(orderBean.getShopId()); assemblyAckRequest.setStoreId(orderBean.getShopId());
//入机成功通知配送 //入机成功通知配送
deliveryMCCafeClient.assemblyAck(assemblyAckRequest); DeliveryResponseDto deliveryResponse = deliveryMCCafeClient.assemblyAck(assemblyAckRequest);
if (deliveryResponse == null || !StringUtils.equals(ResponseResult.SUCCESS.getCode(), deliveryResponse.getCode()+"")) {
return ResponseUtil.error(ResponseResult.DELIVERY_ASSEMBLY_ACK_ERROR);
}
} }
// 异步核销券码 // 异步核销券码
couponHandle.asyncVerificationCoupon(orderBean); couponHandle.asyncVerificationCoupon(orderBean);
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -86,7 +92,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -86,7 +92,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
if (Objects.equals(orderBean.getOrderType(), OrderType.TAKE_OUT.getCode())) { if (Objects.equals(orderBean.getOrderType(), OrderType.TAKE_OUT.getCode())) {
// 订单接单 // 订单接单
BaseResponse<OrderManagerResponse> orderManagerResponseBaseResponse = orderConfirm(request, orderBean); BaseResponse<OrderManagerResponse> orderManagerResponseBaseResponse = orderConfirm(request, orderBean);
if (ResponseResult.SUCCESS.equals(orderManagerResponseBaseResponse.getCode())){ if (ResponseResult.SUCCESS.getCode().equals(orderManagerResponseBaseResponse.getCode())){
//通知配送服务停单 //通知配送服务停单
deliveryHandle.haltedDelivery(orderBean); deliveryHandle.haltedDelivery(orderBean);
} }
......
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