This commit is contained in:
dzc committed 2026-06-25 20:31:32 +08:00
1 parent 1244f3bfd2
commit 83fc1beaf8
1 file changed
+7 -4
@@ -540,7 +540,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
UserInfo userDetail = userService.getInnerByUserId(dto.getUserId()).getData();
if (ObjectUtil.isEmpty(userDetail)) throw new RuntimeException("用户不存在不存在");
// 如果是预约判断是否在预约时间段内
boolean inReserveTime = isInReserveTime(dto.getApptId());
boolean inReserveTime = isInReserveTime(dto.getApptTimeType(), dto.getApptId());
if (!inReserveTime) throw new RuntimeException("不在预约时间段内");
// 判断是否有重复的预约订单
Long reserveCount = isHaveCanteenReserve(dto.getUserId());
@@ -628,7 +628,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
validateTakeOutExpectDelivery(dto);
// 如果是预约判断是否在预约时间段内
boolean inReserveTime = isInReserveTime(dto.getApptId());
boolean inReserveTime = isInReserveTime(null, dto.getApptId());
if (!inReserveTime) throw new RuntimeException("不在预约时间段内");
// 判断是否有重复的预约订单
Long reserveCount = isHaveCanteenReserve(dto.getUserId());
@@ -2259,7 +2259,10 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
}
// 是否在预约时间段内
private boolean isInReserveTime(Long apptId) {
private boolean isInReserveTime(String apptTimeType, Long apptId) {
if (ObjectUtil.isEmpty(apptTimeType)) {
apptTimeType = HardApptTimeTypeEnum.TODAY.getType();
}
if (ObjectUtil.isEmpty(apptId)) return true;
HardApptEntity apptDetail = hardApptService.getById(apptId);
if (ObjectUtil.isEmpty(apptDetail)) {
@@ -2268,7 +2271,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
HardApptTimeTypeEnum startTimeType = HardApptTimeTypeEnum.valueOfByTypeOrToday(apptDetail.getStartTimeType());
HardApptTimeTypeEnum endTimeType = HardApptTimeTypeEnum.valueOfByTypeOrToday(apptDetail.getEndTimeType());
LocalDate now = LocalDate.now();
LocalDate now = getApptTime(apptTimeType);
LocalDateTime startTime = apptDetail.getStartTime().atDate(now).plusDays(startTimeType.getDay());
LocalDateTime endTime = apptDetail.getEndTime().atDate(now).plusDays(endTimeType.getDay());