zhuyifan

refactor(settlement):优化订单查询逻辑

- 移除了今日开始时间戳的计算逻辑- 简化了订单时间过滤条件
- 提高了代码可读性和维护性
......@@ -63,7 +63,6 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Collections;
......@@ -1139,21 +1138,8 @@ public class SettlementServiceImpl implements SettlementService {
// 查询订单列表
final var queryClientCustomerOrdersByConditionRpcResponse = orderServiceRpcClient.queryClientCustomerOrdersByCondition(queryOrderDto);
// 今天开始时间的时间戳(毫秒)
final long todayStartTimestamp = LocalDate.now().atStartOfDay()
.atZone(ZoneId.systemDefault())
.toInstant()
.toEpochMilli();
final var orderList = queryClientCustomerOrdersByConditionRpcResponse.getResponsesList()
.stream()
.filter(e -> {
boolean payStatusMatch = e.getPayStatus() == PayStatusEnum.SUCCEED|| e.getPayStatus() == PayStatusEnum.PAY_CANCELED;
// 过滤时间:只查询今天和以后的订单
boolean timeMatch = e.getMealTime() >= todayStartTimestamp;
return payStatusMatch && timeMatch;
})
.toList();
final var orderList = queryClientCustomerOrdersByConditionRpcResponse.getResponsesList();
if (orderList.isEmpty()) {
log.warn("未查询到订单数据,enterpriseId: {}", enterpriseId);
return createEmptyExcelBySeparateMeal();
......