fix(order):修复查询订单时餐食时间过滤的时区问题- 调整日期解析方法为 parseDate 以确保正确处理日期格式- 明确计算一天开始和结束的时间点(…
…北京时间)- 将北京时间转换为 UTC 时间用于设置查询条件 -保持原有的链式调用风格以提高代码可读性
Showing
1 changed file
with
12 additions
and
4 deletions
| ... | @@ -497,10 +497,18 @@ public class OrderServiceRpcClient { | ... | @@ -497,10 +497,18 @@ 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 date = cn.hutool.core.date.DateUtil.parse(queryOrderDto.getMealTime()); | 500 | + DateTime mealDate = cn.hutool.core.date.DateUtil.parseDate(queryOrderDto.getMealTime()); |
| 501 | - long startOfDay = cn.hutool.core.date.DateUtil.beginOfDay(date).getTime(); | 501 | + |
| 502 | - long endOfDay = cn.hutool.core.date.DateUtil.endOfDay(date).getTime(); | 502 | + DateTime startOfDayBeijing = cn.hutool.core.date.DateUtil.beginOfDay(mealDate); |
| 503 | - request.setShouldFilterMealTimeStart(true).setMealTimeStart(startOfDay).setShouldFilterMealTimeEnd(true).setMealTimeEnd(endOfDay); | 503 | + DateTime endOfDayBeijing = cn.hutool.core.date.DateUtil.endOfDay(mealDate); |
| 504 | + | ||
| 505 | + long startOfDayUtc = cn.hutool.core.date.DateUtil.offsetHour(startOfDayBeijing, -8).getTime(); | ||
| 506 | + long endOfDayUtc = cn.hutool.core.date.DateUtil.offsetHour(endOfDayBeijing, -8).getTime(); | ||
| 507 | + | ||
| 508 | + request.setShouldFilterMealTimeStart(true) | ||
| 509 | + .setMealTimeStart(startOfDayUtc) | ||
| 510 | + .setShouldFilterMealTimeEnd(true) | ||
| 511 | + .setMealTimeEnd(endOfDayUtc); | ||
| 504 | } | 512 | } |
| 505 | return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request.build()); | 513 | return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request.build()); |
| 506 | } | 514 | } | ... | ... |
-
Please register or login to post a comment