Commit 1f6e2d37 by 周晓航

Merge branch 'feature/20210603-v2.0.33-订单获取预计送达时间ID1030763-周晓航'

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
#	order-application-service/src/main/java/cn/freemud/entities/dto/delivery/CallbackUrlRequestDto.java
parents 39baff7a b0801b22
...@@ -287,7 +287,11 @@ public class OrderSdkAdapter { ...@@ -287,7 +287,11 @@ public class OrderSdkAdapter {
if(requestVO.getChooseGoods() != null && !requestVO.getChooseGoods().isEmpty()){ if(requestVO.getChooseGoods() != null && !requestVO.getChooseGoods().isEmpty()){
request.setOrderSendCouponRespList(JSONArray.parseArray(JSONObject.toJSONString(requestVO.getChooseGoods()), CreateOrderRequest.ChooseGood.class)); request.setOrderSendCouponRespList(JSONArray.parseArray(JSONObject.toJSONString(requestVO.getChooseGoods()), CreateOrderRequest.ChooseGood.class));
} }
// 【ID1030916】订单查询门店获取预计送达时间
if (requestVO.getEstimateDeliveryCompleteTime() !=null) {
Date time = requestVO.getEstimateDeliveryCompleteTime();
request.setEstimateDeliveryCompleteTime(time.getTime() + "");
}
return request; return request;
} }
...@@ -3626,7 +3630,7 @@ public class OrderSdkAdapter { ...@@ -3626,7 +3630,7 @@ public class OrderSdkAdapter {
// 订单号 替换成唯一序号 // 订单号 替换成唯一序号
couponLockRequest.setPartnerId(orderBean.getCompanyId()); couponLockRequest.setPartnerId(orderBean.getCompanyId());
couponLockRequest.setOrderId(orderBean.getOid()); couponLockRequest.setOrderId(orderBean.getOid());
couponLockRequest.setCouponCode(accountBean.getAccountId()); //couponLockRequest.setCouponCode(accountBean.getAccountId());
return couponLockRequest; return couponLockRequest;
} }
......
...@@ -181,6 +181,11 @@ public class BaseCreateOrderRequest extends BaseConfig { ...@@ -181,6 +181,11 @@ public class BaseCreateOrderRequest extends BaseConfig {
private Long totalDiscountAmount; private Long totalDiscountAmount;
/**
* 预计送达时间 调用门店服务计算得出
*/
private Date estimateDeliveryCompleteTime;
@Data @Data
public static class DeliveryTypeInfo { public static class DeliveryTypeInfo {
/** /**
......
...@@ -88,4 +88,9 @@ public class UpdateDeliveryInfoByIdRequest extends BaseConfig { ...@@ -88,4 +88,9 @@ public class UpdateDeliveryInfoByIdRequest extends BaseConfig {
private OrderTaskReq orderTask; private OrderTaskReq orderTask;
/**
* 分配骑手时,三方平台的一个预估送达时间
*/
public Long estimateArriveTime;
} }
...@@ -1126,6 +1126,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1126,6 +1126,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
expressReq.setAutoReceiveTime(processingTime); expressReq.setAutoReceiveTime(processingTime);
expressReq.setOrderStatus(NewOrderStatus.DELIVERING.getIndex()); expressReq.setOrderStatus(NewOrderStatus.DELIVERING.getIndex());
} }
//【ID1031049】 订单接受配送分配骑手状态回调
expressReq.setEstimateArriveTime(request.getEstimateArriveTime());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.updateDeliveryInfo(expressReq, request.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.updateDeliveryInfo(expressReq, request.getTrackingNo());
OrderBaseResponse baseResponse = new OrderBaseResponse(); OrderBaseResponse baseResponse = new OrderBaseResponse();
baseResponse.setErrcode(response.getCode() != null ? Integer.parseInt(response.getCode()) : null); baseResponse.setErrcode(response.getCode() != null ? Integer.parseInt(response.getCode()) : null);
......
...@@ -729,6 +729,8 @@ public class OrderAdapter { ...@@ -729,6 +729,8 @@ public class OrderAdapter {
createOrderDto.setOperator(createOrderVo.getUserName()); createOrderDto.setOperator(createOrderVo.getUserName());
createOrderDto.setMenuType(BusinessTypeEnum.getByCode(createOrderVo.getMenuType())); createOrderDto.setMenuType(BusinessTypeEnum.getByCode(createOrderVo.getMenuType()));
createOrderDto.setMarketingType(createOrderVo.getMarketingType()); createOrderDto.setMarketingType(createOrderVo.getMarketingType());
// 【ID1030916】订单查询门店获取预计送达时间
createOrderDto.setEstimateDeliveryCompleteTime(createOrderVo.getUserDeliveryInfoDto() == null ? null : createOrderVo.getUserDeliveryInfoDto().getEstimateDeliveryCompleteTime());
return createOrderDto; return createOrderDto;
} }
...@@ -1192,7 +1194,12 @@ public class OrderAdapter { ...@@ -1192,7 +1194,12 @@ public class OrderAdapter {
} else { } else {
responseVo.setTakeMealTime("我已到店"); responseVo.setTakeMealTime("我已到店");
} }
if (ordersBean.getEstimateDeliveryCompleteTime() !=null) {
responseVo.setReserveDeliveryTime(DateUtil.convert2String(new Date(ordersBean.getEstimateDeliveryCompleteTime()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
} else {
// 更新该字段 用于 预计送达时间
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getDeliveryHoursDayStart()) if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getDeliveryHoursDayStart())
&& StringUtils.isNotBlank(orderExtInfoDto.getPayDate())) { && StringUtils.isNotBlank(orderExtInfoDto.getPayDate())) {
Date createTime = new Date(ordersBean.getGmtCreate()); Date createTime = new Date(ordersBean.getGmtCreate());
Date deliveryHoursDayStart = DateUtil.convert2Date(orderExtInfoDto.getDeliveryHoursDayStart(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS); Date deliveryHoursDayStart = DateUtil.convert2Date(orderExtInfoDto.getDeliveryHoursDayStart(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
...@@ -1207,6 +1214,7 @@ public class OrderAdapter { ...@@ -1207,6 +1214,7 @@ public class OrderAdapter {
} }
} }
} }
}
responseVo.setOrderCreateTime(yyyyMMddHHmmss.format(new Date(ordersBean.getGmtCreate()))); responseVo.setOrderCreateTime(yyyyMMddHHmmss.format(new Date(ordersBean.getGmtCreate())));
//到店的用餐方式有:打包带走、店内就餐 ,外卖没有用餐方式 //到店的用餐方式有:打包带走、店内就餐 ,外卖没有用餐方式
......
...@@ -60,6 +60,8 @@ public class OrderController { ...@@ -60,6 +60,8 @@ public class OrderController {
private MCCafeOrderService mcCafeOrderService; private MCCafeOrderService mcCafeOrderService;
@Autowired @Autowired
private OrderReportJobHandler orderReportJobHandler; private OrderReportJobHandler orderReportJobHandler;
@Autowired
private OrderCountJobHandler orderCountJobHandler;
/** /**
* 创建订单之前校验前面排队的订单数 * 创建订单之前校验前面排队的订单数
...@@ -386,8 +388,6 @@ public class OrderController { ...@@ -386,8 +388,6 @@ public class OrderController {
} }
@Autowired
private OrderCountJobHandler orderCountJobHandler;
/** /**
* 订单统计 上报数据 * 订单统计 上报数据
* @param * @param
...@@ -402,9 +402,6 @@ public class OrderController { ...@@ -402,9 +402,6 @@ public class OrderController {
} }
/** /**
* TLS定时器 每天凌晨 上报昨天 门店支付记录 到 门店服务去 * TLS定时器 每天凌晨 上报昨天 门店支付记录 到 门店服务去
*/ */
......
...@@ -3,6 +3,8 @@ package cn.freemud.entities.dto; ...@@ -3,6 +3,8 @@ package cn.freemud.entities.dto;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import java.util.Date;
@Data @Data
@Builder @Builder
public class UserDeliveryInfoDto { public class UserDeliveryInfoDto {
...@@ -72,4 +74,9 @@ public class UserDeliveryInfoDto { ...@@ -72,4 +74,9 @@ public class UserDeliveryInfoDto {
*/ */
private String receiveRegion; private String receiveRegion;
/**
* 预计送达时间
*/
private Date estimateDeliveryCompleteTime;
} }
...@@ -86,4 +86,9 @@ public class CallbackUrlRequestDto { ...@@ -86,4 +86,9 @@ public class CallbackUrlRequestDto {
private String errorDesc; private String errorDesc;
private String errorCreateTime; private String errorCreateTime;
/**
* 分配骑手时,三方平台的一个预估送达时间
*/
public Long estimateArriveTime;
} }
package cn.freemud.entities.dto.store;
import lombok.Builder;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/4 下午1:53
* @description :
*/
@Data
@Builder
public class GetEstimateDeliveryRequest extends StoreInfoRequestDto {
/**
* 用户收货地址维度
*/
private String latitude;
/**
* 用户收货地址经度
*/
private String longitude;
}
package cn.freemud.entities.dto.store;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/4 下午3:42
* @description :
*/
@Data
@Builder
public class QueryDeliverDetailResponse {
/**
* 预计送达时间
*/
private Date expectArriveTime;
}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ */
package cn.freemud.entities.dto; package cn.freemud.entities.dto.store;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
......
package cn.freemud.entities.dto.store;
import lombok.Data;
import java.util.Date;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/16 上午9:57
* @description :
*/
@Data
public class StoreCBaseResponse<T> {
private String code;
private String message;
private T result;
private String ver;
}
package cn.freemud.entities.dto.store;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/17 上午11:36
* @description :
*/
@Data
public class StoreCBaseResponseDto {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date expectArriveTime;
}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ */
package cn.freemud.entities.dto; package cn.freemud.entities.dto.store;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
......
...@@ -69,6 +69,7 @@ public enum ResponseResult { ...@@ -69,6 +69,7 @@ public enum ResponseResult {
STORE_DELIVERY_HOUR_ERROR("43019", "门店外卖时间错误",""), STORE_DELIVERY_HOUR_ERROR("43019", "门店外卖时间错误",""),
STORE_WILL_COLSE("43020", "门店即将打烊,不能下单",""), STORE_WILL_COLSE("43020", "门店即将打烊,不能下单",""),
STORE_DDELIVERY_METHOD("43021", "获取门店外卖配送方式异常",""), STORE_DDELIVERY_METHOD("43021", "获取门店外卖配送方式异常",""),
STORE_QUERYEXPECTARRIVETIME("43022", "获取门店计算预计送达时间失败",""),
/** /**
* 购物车状态码 * 购物车状态码
......
...@@ -135,6 +135,8 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService { ...@@ -135,6 +135,8 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
requestDto.setRemark(request.getRemark()); requestDto.setRemark(request.getRemark());
requestDto.setExceptionDesc(request.getExceptionDesc()); requestDto.setExceptionDesc(request.getExceptionDesc());
requestDto.setExceptionId(request.getExceptionId()); requestDto.setExceptionId(request.getExceptionId());
//【ID1031049】 订单接受配送分配骑手状态回调
requestDto.setEstimateArriveTime(request.getEstimateArriveTime());
if (StringUtils.isNotBlank(request.getRemark())) { if (StringUtils.isNotBlank(request.getRemark())) {
requestDto.setRemark("配送:" + request.getRemark()); requestDto.setRemark("配送:" + request.getRemark());
} }
......
...@@ -16,14 +16,21 @@ import cn.freemud.adapter.OrderAdapter; ...@@ -16,14 +16,21 @@ import cn.freemud.adapter.OrderAdapter;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.StoreConstant; import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.GetCouponDetailResponseDto;
import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.delivery.DeliveryBaseResponse; import cn.freemud.entities.dto.delivery.DeliveryBaseResponse;
import cn.freemud.entities.dto.delivery.GetDeliveryFlagRequest; import cn.freemud.entities.dto.delivery.GetDeliveryFlagRequest;
import cn.freemud.entities.dto.delivery.GetDeliveryFlagResponseDto; import cn.freemud.entities.dto.delivery.GetDeliveryFlagResponseDto;
import cn.freemud.entities.dto.order.BusinessDate; import cn.freemud.entities.dto.order.BusinessDate;
import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto; import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.dto.store.GetEstimateDeliveryRequest;
import cn.freemud.entities.dto.store.StoreCBaseResponse;
import cn.freemud.entities.dto.store.StoreCBaseResponseDto;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.StoreTableNumberManager; import cn.freemud.manager.StoreTableNumberManager;
...@@ -33,6 +40,7 @@ import cn.freemud.service.order.OrderRelationFactory; ...@@ -33,6 +40,7 @@ import cn.freemud.service.order.OrderRelationFactory;
import cn.freemud.service.order.OrderRelationService; import cn.freemud.service.order.OrderRelationService;
import cn.freemud.service.thirdparty.DeliveryFeiginClient; import cn.freemud.service.thirdparty.DeliveryFeiginClient;
import cn.freemud.service.thirdparty.ShoppingCartClient; import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.service.thirdparty.StoreBaseApiClient;
import cn.freemud.utils.LogUtil; import cn.freemud.utils.LogUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -51,10 +59,6 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI ...@@ -51,10 +59,6 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse; import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse;
import com.freemud.application.sdk.api.membercenter.service.MemberCenterService; import com.freemud.application.sdk.api.membercenter.service.MemberCenterService;
import com.freemud.application.sdk.api.membercenter.service.MemberPropertyService; import com.freemud.application.sdk.api.membercenter.service.MemberPropertyService;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq;
import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest;
import com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse;
import com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService; import com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService;
import com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest; import com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
...@@ -64,7 +68,6 @@ import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; ...@@ -64,7 +68,6 @@ import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.order.enums.StoreDeliveryMethod; import com.freemud.sdk.api.assortment.order.enums.StoreDeliveryMethod;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.gson.Gson; import com.google.gson.Gson;
import lombok.extern.log4j.Log4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -72,13 +75,10 @@ import org.apache.commons.lang.time.DateUtils; ...@@ -72,13 +75,10 @@ import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import sun.rmi.runtime.Log;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.*; import java.util.*;
...@@ -136,6 +136,8 @@ public class CheckOrder { ...@@ -136,6 +136,8 @@ public class CheckOrder {
@Value("${coco.partnerId}") @Value("${coco.partnerId}")
private String cocoPartnerId; private String cocoPartnerId;
@Autowired
private StoreBaseApiClient storeBaseApiClient;
/** /**
* 下单会员相关校验 * 下单会员相关校验
*/ */
...@@ -320,7 +322,7 @@ public class CheckOrder { ...@@ -320,7 +322,7 @@ public class CheckOrder {
} }
storeDeliveryInfoDto.setEnableTakeaway(true); storeDeliveryInfoDto.setEnableTakeaway(true);
// 校验收货地址是否可配送 // 校验收货地址是否可配送 fisherman -> 获取门店预计送达时间
checkReceiveAddress(storeDeliveryInfoDto, createOrderVo,storeResponseDto.getStoreCode()); checkReceiveAddress(storeDeliveryInfoDto, createOrderVo,storeResponseDto.getStoreCode());
} }
return pushOrderTime; return pushOrderTime;
...@@ -890,6 +892,11 @@ public class CheckOrder { ...@@ -890,6 +892,11 @@ public class CheckOrder {
if (BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(createOrderVo.getMenuType())) { if (BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(createOrderVo.getMenuType())) {
String s = this.checkDeliveryType(createOrderVo, storeCode, trackingNo); String s = this.checkDeliveryType(createOrderVo, storeCode, trackingNo);
userDeliveryInfoDto.getStoreDeliveryInfoDto().setDeliveryType(s); userDeliveryInfoDto.getStoreDeliveryInfoDto().setDeliveryType(s);
// 【ID1030916】订单查询门店获取预计送达时间 并且不是预约单
if (StringUtils.isEmpty(createOrderVo.getExpectTime())) {
userDeliveryInfoDto.setEstimateDeliveryCompleteTime(getEstimateDeliveryCompleteTime(receiveAddressResult.getLatitude(), receiveAddressResult.getLongitude(), storeDeliveryInfoDto.getPartnerId(), storeDeliveryInfoDto.getStoreId()));
}
} }
userDeliveryInfoDto.setReceiveUserName(receiveAddressResult.getReceiveName()); userDeliveryInfoDto.setReceiveUserName(receiveAddressResult.getReceiveName());
userDeliveryInfoDto.setReceiveMobile(StringUtils.isEmpty(receiveAddressResult.getMobile()) ? receiveAddressResult.getReceiveMobile() : receiveAddressResult.getMobile()); userDeliveryInfoDto.setReceiveMobile(StringUtils.isEmpty(receiveAddressResult.getMobile()) ? receiveAddressResult.getReceiveMobile() : receiveAddressResult.getMobile());
...@@ -907,7 +914,40 @@ public class CheckOrder { ...@@ -907,7 +914,40 @@ public class CheckOrder {
createOrderVo.setUserDeliveryInfoDto(userDeliveryInfoDto); createOrderVo.setUserDeliveryInfoDto(userDeliveryInfoDto);
} }
/**
* 获取 用户预计送达时间 距离
* @param userLat 用户纬度
* @param userLong 用户经度
* @param partnerId 商户号
* @param storeCode 门店号
* @return
*/
private Date getEstimateDeliveryCompleteTime(String userLat,
String userLong,
String partnerId,
String storeCode) {
boolean check = StringUtils.isEmpty(userLat) ||
StringUtils.isEmpty(userLong) ||
StringUtils.isEmpty(partnerId) ||
StringUtils.isEmpty(storeCode);
if (check) {
throw new ServiceException(ResponseResult.PARAMETER_MISSING);
}
// 调用门店接口 获取时间 Fisherman
GetEstimateDeliveryRequest request = GetEstimateDeliveryRequest.builder().latitude(userLat).longitude(userLong).build();
request.setPartnerId(partnerId);
request.setStoreCode(storeCode);
StoreCBaseResponse<StoreCBaseResponseDto> responseDto = storeBaseApiClient.queryDeliverDetail(request);
ApiLog.info("fisherman 获取门店预计送达时间",request,responseDto);
if (responseDto == null) {
throw new ServiceException(ResponseResult.SYSTEM_BUSINESS_ERROR);
}
if(!ResponseResult.SUCCESS.getCode().equals(responseDto.getCode()) || responseDto.getResult() == null){
throw new ServiceException(ResponseResult.STORE_QUERYEXPECTARRIVETIME);
}
return responseDto.getResult().getExpectArriveTime();
}
public void checkCardCode(String partnerId, String memberId, String cardCode) { public void checkCardCode(String partnerId, String memberId, String cardCode) {
...@@ -980,6 +1020,14 @@ public class CheckOrder { ...@@ -980,6 +1020,14 @@ public class CheckOrder {
return createOrderVo.getMarketingType() != null && OrderMarketType.COLLAGE.getIndex() == createOrderVo.getMarketingType(); return createOrderVo.getMarketingType() != null && OrderMarketType.COLLAGE.getIndex() == createOrderVo.getMarketingType();
} }
/**
* 校验配送信息
* 这里可以获取用户的 预计送达时间
* @param createOrderVo
* @param storeCode
* @param trackingNo
* @return
*/
public String checkDeliveryType(CreateOrderVo createOrderVo,String storeCode,String trackingNo) { public String checkDeliveryType(CreateOrderVo createOrderVo,String storeCode,String trackingNo) {
String code = ""; String code = "";
QueryDeliveryRequest request = new QueryDeliveryRequest(); QueryDeliveryRequest request = new QueryDeliveryRequest();
......
...@@ -1073,7 +1073,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1073,7 +1073,6 @@ public class OrderServiceImpl implements Orderservice {
}); });
} }
List<QueryOrderResponseVo> queryOrderResponseVos = orderAdapter.convent2QueryOrderResponseVos(orders, userLoginInfoDto.getWxAppId(), userLoginInfoDto.getIappId()); List<QueryOrderResponseVo> queryOrderResponseVos = orderAdapter.convent2QueryOrderResponseVos(orders, userLoginInfoDto.getWxAppId(), userLoginInfoDto.getIappId());
if (QueryOrderStatus.TAKE_MEAL.getCode().intValue() == queryOrderVo.getQueryOrderStatus()) { if (QueryOrderStatus.TAKE_MEAL.getCode().intValue() == queryOrderVo.getQueryOrderStatus()) {
...@@ -2760,7 +2759,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2760,7 +2759,7 @@ public class OrderServiceImpl implements Orderservice {
} }
/** /**
* 创建普通订单 * 创建普通订单 saas会走 app会走
*/ */
public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq, OrderClientType orderClient, String appId,String openId) { OrderExtendedReq orderExtendedReq, OrderClientType orderClient, String appId,String openId) {
......
package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.store.StoreCBaseResponse;
import cn.freemud.entities.dto.store.StoreCBaseResponseDto;
import cn.freemud.entities.dto.store.StoreInfoRequestDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/6/4 下午2:04
* @description : 门店基础服务
*/
@FeignClient(name = "store-menu-application-service")
@RequestMapping(value = "/store", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public interface StoreBaseApiClient {
@PostMapping(value = "/delivery/calcDeliveryData")
StoreCBaseResponse<StoreCBaseResponseDto> queryDeliverDetail(@RequestBody StoreInfoRequestDto request);
}
...@@ -83,4 +83,10 @@ public class OrderExpressReq { ...@@ -83,4 +83,10 @@ public class OrderExpressReq {
*/ */
private Integer orderStatus; private Integer orderStatus;
/**
* 分配骑手时,三方平台的一个预估送达时间
*/
public Long estimateArriveTime;
} }
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