zhuyifan

fix(order):修复查询订单时餐食时间过滤的时区问题- 调整日期解析方法为 parseDate 以确保正确处理日期格式- 明确计算一天开始和结束的时间点(…

…北京时间)- 将北京时间转换为 UTC 时间用于设置查询条件
-保持原有的链式调用风格以提高代码可读性
......@@ -497,10 +497,18 @@ public class OrderServiceRpcClient {
.setShouldFilterClientIds(true).addClientIds(queryOrderDto.getClientId())
.setShouldFilterStallIds(true).addAllStallIds(queryOrderDto.getStallIds());
if (StringUtils.isNotEmpty(queryOrderDto.getMealTime())) {
DateTime date = cn.hutool.core.date.DateUtil.parse(queryOrderDto.getMealTime());
long startOfDay = cn.hutool.core.date.DateUtil.beginOfDay(date).getTime();
long endOfDay = cn.hutool.core.date.DateUtil.endOfDay(date).getTime();
request.setShouldFilterMealTimeStart(true).setMealTimeStart(startOfDay).setShouldFilterMealTimeEnd(true).setMealTimeEnd(endOfDay);
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 startOfDayUtc = cn.hutool.core.date.DateUtil.offsetHour(startOfDayBeijing, -8).getTime();
long endOfDayUtc = cn.hutool.core.date.DateUtil.offsetHour(endOfDayBeijing, -8).getTime();
request.setShouldFilterMealTimeStart(true)
.setMealTimeStart(startOfDayUtc)
.setShouldFilterMealTimeEnd(true)
.setMealTimeEnd(endOfDayUtc);
}
return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request.build());
}
......