Commit da33c4d1 by ping.wu

Merge branches 'develop' and 'feature/20200506_取餐时间调整_wuping' of…

Merge branches 'develop' and 'feature/20200506_取餐时间调整_wuping' of http://gitlab.freemud.com/order-group-application/order-group into develop
parents e53211bd 634e808c
...@@ -534,10 +534,6 @@ public class OrderSdkAdapter { ...@@ -534,10 +534,6 @@ public class OrderSdkAdapter {
} }
orderConditionsReq.setOrderStatuses(orderStatusList); orderConditionsReq.setOrderStatuses(orderStatusList);
} }
//订单类型 1:(店内自取实时-常规堂食) 2:(店内自取预约-预约堂食) 3:(店外快递实时-常规外送) 4:(店外快递预约-预约外送) 5:(店外自取实时-常规自取) 6:(店外自取预约-预约自取)
if (CollectionUtils.isNotEmpty(request.getOrderTypes())) {
orderConditionsReq.setOrderTypes(request.getOrderTypes().stream().filter(orderType -> orderType != null && !orderType.equals(0)).collect(Collectors.toList()));
}
if (CollectionUtils.isNotEmpty(request.getOrderTypes())) { if (CollectionUtils.isNotEmpty(request.getOrderTypes())) {
List<Integer> orderTypeList = request.getOrderTypes().stream().filter(orderType -> orderType != null && !orderType.equals(0)).collect(Collectors.toList()); List<Integer> orderTypeList = request.getOrderTypes().stream().filter(orderType -> orderType != null && !orderType.equals(0)).collect(Collectors.toList());
if (orderTypeList != null && orderTypeList.size() > 0) { if (orderTypeList != null && orderTypeList.size() > 0) {
...@@ -549,6 +545,12 @@ public class OrderSdkAdapter { ...@@ -549,6 +545,12 @@ public class OrderSdkAdapter {
orderConditionsReq.setOrderTypes(orderTypes); orderConditionsReq.setOrderTypes(orderTypes);
} }
} }
//订单类型 1:(店内自取实时-常规堂食) 2:(店内自取预约-预约堂食) 3:(店外快递实时-常规外送) 4:(店外快递预约-预约外送) 5:(店外自取实时-常规自取) 6:(店外自取预约-预约自取)
if (CollectionUtils.isNotEmpty(request.getNewOrderTypes())) {
orderConditionsReq.setOrderTypes(request.getNewOrderTypes().stream().filter(orderType -> orderType != null && !orderType.equals(0)).collect(Collectors.toList()));
}
orderConditionsReq.setAfterSalesStatus(getOldRefoundStatus(request.getAfterSalesStatus())); orderConditionsReq.setAfterSalesStatus(getOldRefoundStatus(request.getAfterSalesStatus()));
List<Integer> orderClients = new ArrayList<>(); List<Integer> orderClients = new ArrayList<>();
if (request.getSource() != null && request.getSource().size() != 0) { if (request.getSource() != null && request.getSource().size() != 0) {
......
...@@ -22,7 +22,10 @@ public class QueryOrdersByConditionsRequest extends BaseConfig { ...@@ -22,7 +22,10 @@ public class QueryOrdersByConditionsRequest extends BaseConfig {
private List<Integer> discountTypes; private List<Integer> discountTypes;
private String discountId; private String discountId;
private List<Integer> orderStatuses; private List<Integer> orderStatuses;
//老版订单 订单类型集合
private List<Integer> orderTypes; private List<Integer> orderTypes;
//新订单 订单类型集合
private List<Integer> newOrderTypes;
private Integer afterSalesStatus; private Integer afterSalesStatus;
private List<Integer> payStatuses; private List<Integer> payStatuses;
private String thirdOrderCode; private String thirdOrderCode;
......
...@@ -94,6 +94,11 @@ public class CreateOrderVo { ...@@ -94,6 +94,11 @@ public class CreateOrderVo {
* 取餐时间 * 取餐时间
*/ */
private String takeMealTime; private String takeMealTime;
/**
* 取餐标识 0=我已到店、尽快送出
*/
private String takeMealFlag;
/** /**
* 是否外带 ,打包 1 是 0 否 * 是否外带 ,打包 1 是 0 否
*/ */
......
...@@ -170,10 +170,6 @@ public class CheckOrder { ...@@ -170,10 +170,6 @@ public class CheckOrder {
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00"); .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
takeMealDateTime = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss"); takeMealDateTime = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss");
} }
// System.out.println(takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime()));
// Date convert2Date = DateUtil.convert2Date(storeResponseDto.getBusinessHoursDayStartTime(), "yyyy-MM-dd");
// boolean before = takeMealDateTime.before(DateUtil.addDays(convert2Date, 1));
//隔天预约时间处理 8:00-2:00 预约1:00 ,下单时间在2:00 - 23:59加1天,00:00-1:59不加 //隔天预约时间处理 8:00-2:00 预约1:00 ,下单时间在2:00 - 23:59加1天,00:00-1:59不加
if(takeMealDateTime != null && takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime()) if(takeMealDateTime != null && takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime())
&& takeMealDateTime.before(DateUtil.addDays(DateUtil.convert2Date(storeResponseDto.getBusinessHoursDayStartTime(),"yyyy-MM-dd"),1))){ && takeMealDateTime.before(DateUtil.addDays(DateUtil.convert2Date(storeResponseDto.getBusinessHoursDayStartTime(),"yyyy-MM-dd"),1))){
...@@ -184,6 +180,15 @@ public class CheckOrder { ...@@ -184,6 +180,15 @@ public class CheckOrder {
|| takeMealDateTime.after(storeResponseDto.getBusinessHoursDayEndTime()))) { || takeMealDateTime.after(storeResponseDto.getBusinessHoursDayEndTime()))) {
throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD); throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD);
} }
//当顾客指定送达时间小于当前时间+提前预约时间时,订单记录类型为即时单
if (takeMealDateTime != null && storeResponseDto.getServiceTime() != null
&& takeMealDateTime.before(DateUtil.addMinutes(date,storeResponseDto.getServiceTime()))) {
takeMealDateTime = null;
}
//0=到店单我已到店、外卖单尽快送出
if (StringUtils.isNotBlank(createOrderVo.getTakeMealFlag()) && "0".equals(createOrderVo.getTakeMealFlag())) {
takeMealDateTime = null;
}
String appId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
// 校验小程序是否支持到店或者外卖 // 校验小程序是否支持到店或者外卖
OpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId); OpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId);
...@@ -223,32 +228,32 @@ public class CheckOrder { ...@@ -223,32 +228,32 @@ public class CheckOrder {
String deliveryStr = storeResponseDto.getDeliveryHoursDay().replace("-", ",") String deliveryStr = storeResponseDto.getDeliveryHoursDay().replace("-", ",")
.replace("_", ","); .replace("_", ",");
String[] deliverys = deliveryStr.split(","); String[] deliverys = deliveryStr.split(",");
Date startDate = null; Date deliveryStartDate = null;
Date endDate = null; Date deliveryEndDate = null;
if (deliverys.length == 2) { if (deliverys.length == 2) {
SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyy-MM-dd");
String startDateTimeStr = yyyyMMdd.format(date) + " " + deliverys[0] + ":00"; String startDateTimeStr = yyyyMMdd.format(date) + " " + deliverys[0] + ":00";
String endDateTimeStr = yyyyMMdd.format(date) + " " + deliverys[1] + ":00"; String endDateTimeStr = yyyyMMdd.format(date) + " " + deliverys[1] + ":00";
try { try {
endDate = hhmmss.parse(endDateTimeStr); deliveryEndDate = hhmmss.parse(endDateTimeStr);
startDate = hhmmss.parse(startDateTimeStr); deliveryStartDate = hhmmss.parse(startDateTimeStr);
storeDeliveryInfoDto.setDeliveryStartTime(hhmmss.parse(startDateTimeStr)); storeDeliveryInfoDto.setDeliveryStartTime(deliveryStartDate);
storeDeliveryInfoDto.setDeliveryEndTime(hhmmss.parse(endDateTimeStr)); storeDeliveryInfoDto.setDeliveryEndTime(deliveryEndDate);
} catch (ParseException e) { } catch (ParseException e) {
LogUtil.error("getStoreDeliveryInfo_error", endDateTimeStr, e.getMessage()); LogUtil.error("getStoreDeliveryInfo_error", endDateTimeStr, e.getMessage());
} }
} }
if (startDate == null || endDate == null || date.after(endDate)) { if (deliveryStartDate == null || deliveryEndDate == null || date.after(deliveryEndDate)) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
// 校验预约配送时间 // 校验预约配送时间
if (StringUtils.isBlank(createOrderVo.getTakeMealTime()) && date.before(startDate)) { if (StringUtils.isBlank(createOrderVo.getTakeMealTime()) && date.before(deliveryStartDate)) {
long takeAwayTime = startDate.getTime() + storeResponseDto.getServiceTime() * 60 * 1000L; long takeAwayTime = deliveryStartDate.getTime() + storeResponseDto.getServiceTime() * 60 * 1000L;
takeMealDateTime = new Date(takeAwayTime); takeMealDateTime = new Date(takeAwayTime);
// createOrderVo.setTakeMealTime(DateUtil.convert2Str(takeMealDateTime, "HH:mm")); // createOrderVo.setTakeMealTime(DateUtil.convert2Str(takeMealDateTime, "HH:mm"));
} }
if (takeMealDateTime != null && (takeMealDateTime.before(startDate) || takeMealDateTime.after(endDate))) { if (takeMealDateTime != null && (takeMealDateTime.before(deliveryStartDate) || takeMealDateTime.after(deliveryStartDate))) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
storeDeliveryInfoDto.setEnableTakeaway(true); storeDeliveryInfoDto.setEnableTakeaway(true);
......
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