zhuyifan

refactor(order):优化订单查询时间过滤逻辑

- 移除对 cn.hutool.core.date.DateTime 的依赖
- 使用 java.time 包替换原有日期处理方式
- 简化日期解析与时间范围计算逻辑
- 统一时间戳转换为 UTC 毫秒数- 提升代码
package com.infoloop.tianting.service.client;
import cn.hutool.core.date.DateTime;
import com.infoloop.tianting.SingleResponse;
import com.infoloop.tianting.SingleSkuResponse;
import com.infoloop.tianting.SingleSpecialResponse;
......@@ -92,6 +91,7 @@ import java.io.IOException;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.HashMap;
......@@ -497,18 +497,13 @@ public class OrderServiceRpcClient {
.setShouldFilterClientIds(true).addClientIds(queryOrderDto.getClientId())
.setShouldFilterStallIds(true).addAllStallIds(queryOrderDto.getStallIds());
if (StringUtils.isNotEmpty(queryOrderDto.getMealTime())) {
DateTime mealDate = cn.hutool.core.date.DateUtil.parseDate(queryOrderDto.getMealTime());
DateTime startOfDayBeijing = cn.hutool.core.date.DateUtil.beginOfDay(mealDate);
DateTime endOfDayBeijing = cn.hutool.core.date.DateUtil.endOfDay(mealDate);
long startTimestamp = cn.hutool.core.date.DateUtil.offsetHour(startOfDayBeijing, 8).getTime();
long endTimestamp = cn.hutool.core.date.DateUtil.offsetHour(endOfDayBeijing, 8).getTime();
LocalDate today = LocalDate.parse(queryOrderDto.getMealTime(), DateUtil.YYYY_MM_DD);
LocalDateTime todayZero = today.atStartOfDay();
LocalDateTime todayEnd = today.atTime(LocalTime.MAX);
request.setShouldFilterMealTimeStart(true)
.setMealTimeStart(startTimestamp)
.setMealTimeStart(todayZero.toInstant(ZoneOffset.UTC).toEpochMilli())
.setShouldFilterMealTimeEnd(true)
.setMealTimeEnd(endTimestamp);
.setMealTimeEnd(todayEnd.toInstant(ZoneOffset.UTC).toEpochMilli());
}
return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request.build());
}
......