Commit 786212f8 by huiyang.chen

Merge branch 'feature-2020/8/6-McCafe-会阳' into develop

parents bd8cea9f e1d09fb7
......@@ -166,6 +166,7 @@ public enum ResponseResult {
ORDER_REJECT_REFUND_STATUS_END("45081","订单未接单或者已取消,不能操作"),
REJECT_REFUND_ORDER_FAIL("45082", "拒绝退款失败"),
ORDER_DELIVERY_CALL_BACK_FAILED("45083", "配送回调失败,为找到对应操作类型"),
ORDER_UPDATE_PICKUP_FAILED("45084", "更新取餐码失败"),
/**
* 支付
*/
......@@ -208,6 +209,8 @@ public enum ResponseResult {
DELIVERY_QUERY_ERROR("50024","查询配送单失败"),
DELIVERY_CANCEL_ORDER_ERROR("53012", "取消配送单失败"),
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;
import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
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.deliverycenter.dto.CancelDeliveryOrderRequestDto;
import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto;
......@@ -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.service.DeliveryService;
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.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.enums.OrderSourceType;
......@@ -61,6 +63,8 @@ public class DeliveryHandle {
private OrderBaseService orderBaseService;
@Autowired
private DeliveryMCCafeClient deliveryMCCafeClient;
@Autowired
private EmailAlertService emailAlertService;
/**
......@@ -140,7 +144,8 @@ public class DeliveryHandle {
deliveryOrderHaltedRequest.setStoreId(data.getShopId());
DeliveryResponseDto deliveryResponse = deliveryMCCafeClient.halted(deliveryOrderHaltedRequest);
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();
......
......@@ -74,7 +74,10 @@ public class SaasOrderHandle {
relatingCodeReq.setOperator(request.getOperator());
relatingCodeReq.setPartnerId(request.getPartnerId());
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();
}
......
package cn.freemud.management.service.impl;
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.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
......@@ -10,6 +11,7 @@ import cn.freemud.management.service.OrderManagerService;
import cn.freemud.management.service.handle.*;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
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.order.response.order.QueryOrdersResponse;
import org.apache.commons.lang.StringUtils;
......@@ -59,7 +61,10 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
if (!Objects.equals(orderBean.getOrderType(), OrderType.TAKE_OUT.getCode())) {
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'");
DeliveryOrderAssemblyackRequest assemblyAckRequest =new DeliveryOrderAssemblyackRequest();
......@@ -68,12 +73,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
assemblyAckRequest.setAssemblyTimeUTC(dateFormat.format(new Date()));
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);
}
return ResponseUtil.success();
}
......@@ -86,7 +92,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
if (Objects.equals(orderBean.getOrderType(), OrderType.TAKE_OUT.getCode())) {
// 订单接单
BaseResponse<OrderManagerResponse> orderManagerResponseBaseResponse = orderConfirm(request, orderBean);
if (ResponseResult.SUCCESS.equals(orderManagerResponseBaseResponse.getCode())){
if (ResponseResult.SUCCESS.getCode().equals(orderManagerResponseBaseResponse.getCode())){
//通知配送服务停单
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