Commit a6f62d39 by 邓杰

配送方式

parent fb393951
package cn.freemud.entities.dto.delivery;
import lombok.Data;
@Data
public class GetDeliveryFlagRequest {
private String partnerId;
private String storeId;
}
package cn.freemud.entities.dto.delivery;
import lombok.Data;
@Data
public class GetDeliveryFlagResponseDto {
private boolean thirdDeliveryFlag;
}
......@@ -17,6 +17,9 @@ import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.delivery.DeliveryBaseResponse;
import cn.freemud.entities.dto.delivery.GetDeliveryFlagRequest;
import cn.freemud.entities.dto.delivery.GetDeliveryFlagResponseDto;
import cn.freemud.entities.dto.order.BusinessDate;
import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
......@@ -26,6 +29,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.StoreTableNumberManager;
import cn.freemud.service.CouponService;
import cn.freemud.service.adapter.OrderCheckAdapter;
import cn.freemud.service.thirdparty.DeliveryFeiginClient;
import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.utils.LogUtil;
import com.alibaba.fastjson.JSONObject;
......@@ -113,6 +117,12 @@ public class CheckOrder {
@Autowired
private OrderAdapter orderAdapter;
@Autowired
private DeliveryFeiginClient deliveryFeiginClient;
@Value("${coco.partnerId}")
private String cocoPartnerId;
/**
* 下单会员相关校验
*/
......@@ -564,6 +574,20 @@ public class CheckOrder {
storeDeliveryInfoDto.setDeliveryType("self");
storeDeliveryInfoDto.setPushOrderTime(0);
} else {
//如果是coco查询配送服务判断是平台配送还是自配送
if(cocoPartnerId.equals(storeResponseDto.getPartnerId())){
GetDeliveryFlagRequest getDeliveryFlagRequest = new GetDeliveryFlagRequest();
getDeliveryFlagRequest.setPartnerId(storeResponseDto.getPartnerId());
getDeliveryFlagRequest.setStoreId(storeResponseDto.getStoreId());
DeliveryBaseResponse<GetDeliveryFlagResponseDto> deliveryBaseResponse = deliveryFeiginClient.getThirdDeliveryFlag(getDeliveryFlagRequest);
if(deliveryBaseResponse.getCode() == 100 && deliveryBaseResponse.getData() != null && deliveryBaseResponse.getData().isThirdDeliveryFlag()){
storeDeliveryInfoDto.setDeliveryType("third");
storeDeliveryInfoDto.setPushOrderTime(0);
}else {
storeDeliveryInfoDto.setDeliveryType("self");
storeDeliveryInfoDto.setPushOrderTime(0);
}
}else{
if (ObjectUtils.equals(openPlatformIappWxappConfig.getTakeType(), 1)) {
storeDeliveryInfoDto.setDeliveryType("self");
storeDeliveryInfoDto.setPushOrderTime(0);
......@@ -572,6 +596,7 @@ public class CheckOrder {
storeDeliveryInfoDto.setPushOrderTime(0);
}
}
}
return storeDeliveryInfoDto;
}
......
......@@ -28,4 +28,7 @@ public interface DeliveryFeiginClient {
@PostMapping("/delivery/getDeliveryStatusAndRiderPosition")
DeliveryBaseResponse<DeliveryStatusAndRiderPositionDto> queryDeliveryStatusAndRiderPosition(@RequestBody QueryDeliveryBaseRequest queryDeliveryBaseRequest);
@PostMapping("/delivery/getThirdDeliveryFlag")
DeliveryBaseResponse<GetDeliveryFlagResponseDto> getThirdDeliveryFlag(@RequestBody GetDeliveryFlagRequest getDeliveryFlagRequest);
}
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