zhuyifan

refactor(kds):优化日期时间范围查询逻辑

- 引入 LocalTime 类以精确控制当天结束时间
- 将原先的次日零点减一分钟逻辑替换为当天最大时间
- 统一订单查询的时间范围界定方式
- 提高代码可读性和维护性
......@@ -36,6 +36,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
......@@ -60,8 +61,7 @@ public class KdsServiceImpl implements KdsService {
// 获取当日所有的订单 和 订单明细
LocalDate today = LocalDate.parse(queryDto.getMealTime(), DateUtil.YYYY_MM_DD);
LocalDateTime todayZero = today.atStartOfDay();
LocalDate tomorrow = today.plusDays(1);
LocalDateTime tomorrowZero = tomorrow.atStartOfDay();
LocalDateTime todayEnd = today.atTime(LocalTime.MAX);
final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
boolean shouldFilterStallIds = false;
List<Integer> stallIds = new ArrayList<>();
......@@ -78,7 +78,7 @@ public class KdsServiceImpl implements KdsService {
.shouldFilterMealTimeStart(true)
.mealTimeStart(todayZero)
.shouldFilterMealTimeEnd(true)
.mealTimeEnd(tomorrowZero)
.mealTimeEnd(todayEnd)
.shouldFilterPayStatus(true)
.payStatus(PayStatusEnum.SUCCEED)
.build();
......@@ -296,8 +296,7 @@ public class KdsServiceImpl implements KdsService {
// 获取当日用餐的所有的订单 和 订单明细
LocalDate today = LocalDate.parse(queryDto.getMealTime(), DateUtil.YYYY_MM_DD);
LocalDateTime todayZero = today.atStartOfDay();
LocalDate tomorrow = today.plusDays(1);
LocalDateTime tomorrowZero = tomorrow.atStartOfDay().minusMinutes(1);
LocalDateTime todayEnd = today.atTime(LocalTime.MAX);
final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
......@@ -318,7 +317,7 @@ public class KdsServiceImpl implements KdsService {
.shouldFilterMealTimeStart(true)
.mealTimeStart(todayZero)
.shouldFilterMealTimeEnd(true)
.mealTimeEnd(tomorrowZero)
.mealTimeEnd(todayEnd)
.shouldFilterStatus(true)
.status(queryDto.getOrderStatus())
.shouldFilterPayStatus(true)
......