zhuyifan

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

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