Commit 61afa31f by 周晓航

预约单配置校验

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent 5fb3843b
...@@ -332,7 +332,7 @@ public class CheckOrder { ...@@ -332,7 +332,7 @@ public class CheckOrder {
if (Objects.isNull(businessInfoDto)) { if (Objects.isNull(businessInfoDto)) {
businessInfoDto = this.queryBusinessInfoNew(createOrderVo); businessInfoDto = this.queryBusinessInfoNew(createOrderVo);
} }
this.checkAdvanceOrderExpectTime(businessInfoDto,storeResponseDto); this.checkAdvanceOrderExpectTime(businessInfoDto,storeResponseDto,takeMealDateTime);
} }
//重新赋值为yyyy-MM-dd HH:mm:ss格式字符串时间 //重新赋值为yyyy-MM-dd HH:mm:ss格式字符串时间
createOrderVo.setExpectTime(DateUtil.convert2String(takeMealDateTime, "yyyy-MM-dd HH:mm:ss")); createOrderVo.setExpectTime(DateUtil.convert2String(takeMealDateTime, "yyyy-MM-dd HH:mm:ss"));
...@@ -408,7 +408,7 @@ public class CheckOrder { ...@@ -408,7 +408,7 @@ public class CheckOrder {
* @param queryBusinessInfoNew * @param queryBusinessInfoNew
* @param storeResponseDto * @param storeResponseDto
*/ */
private void checkAdvanceOrderExpectTime(BusinessInfoDto queryBusinessInfoNew,StoreResponse.BizVO storeResponseDto) { private void checkAdvanceOrderExpectTime(BusinessInfoDto queryBusinessInfoNew,StoreResponse.BizVO storeResponseDto, Date takeMealDateTime) {
if (Objects.isNull(queryBusinessInfoNew)) { if (Objects.isNull(queryBusinessInfoNew)) {
return; return;
} }
...@@ -416,19 +416,31 @@ public class CheckOrder { ...@@ -416,19 +416,31 @@ public class CheckOrder {
// 没开启 抛出异常 // 没开启 抛出异常
throw new ServiceException(ResponseResult.STORE_ITEM_NOT_ADVANCE); throw new ServiceException(ResponseResult.STORE_ITEM_NOT_ADVANCE);
} }
// fisherman 预计 营业时间范围校验 // fisherman 预计 营业时间范围校验 begin
List<String> nextDayBusinessTime = storeCenterService.getNextDayBusinessTime(Integer.parseInt(storeResponseDto.getBusinessType()), storeResponseDto.getBusinessHours());
if (CollectionUtils.isEmpty(nextDayBusinessTime)) {
throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR);
}
for (String bussinessTime : nextDayBusinessTime) {
BusinessDate bussinessTime2 = this.getStoreBusinessDate(bussinessTime, true);
// 取餐时间在营业时间前面, 或者在营业结束时间后面
boolean isTrue = takeMealDateTime.before(bussinessTime2.getStartDate()) || takeMealDateTime.after(bussinessTime2.getEndDate());
if (isTrue) {
throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD);
}
}
//预计 营业时间范围校验 end
// 营业结束前校验 结束时间前十分钟可以下单 // 营业结束前校验 结束时间前十分钟可以下单 begin
List<String> todayBusinessTimes = storeCenterService.getTodayBusinessTime(Integer.parseInt(storeResponseDto.getBusinessType()), storeResponseDto.getBusinessHoursDay()); List<String> todayBusinessTimes = storeCenterService.getTodayBusinessTime(Integer.parseInt(storeResponseDto.getBusinessType()), storeResponseDto.getBusinessHoursDay());
if (CollectionUtils.isEmpty(todayBusinessTimes)) { if (CollectionUtils.isEmpty(todayBusinessTimes)) {
throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR); throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR);
} }
Date createOrder = DateUtil.addMinutes(new Date(), 10); Date createOrder = DateUtil.addMinutes(new Date(), 10);
for (String todayTime : todayBusinessTimes) { for (String todayTime : todayBusinessTimes) {
//每段营业时间校验 //每段营业时间校验
BusinessDate businessDate2 = getStoreBusinessDate(todayTime, true); BusinessDate businessDate2 = this.getStoreBusinessDate(todayTime, true);
if (createOrder.after(businessDate2.getEndDate())) { if (createOrder.after(businessDate2.getEndDate())) {
throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD); throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD);
} }
......
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