diff --git a/src/main/java/cn/van/business/util/JDUtil.java b/src/main/java/cn/van/business/util/JDUtil.java index 2207640..4b303ff 100644 --- a/src/main/java/cn/van/business/util/JDUtil.java +++ b/src/main/java/cn/van/business/util/JDUtil.java @@ -2069,14 +2069,20 @@ public class JDUtil { } - public LocalDate getDateFromLD(String dateStr) { + public List getDateFromLD(String dateStr) { + ArrayList dateArrayList = new ArrayList<>(); logger.info("开始解析日期 {}", dateStr); + if (dateStr.contains("-")){ + String[] dates = dateStr.split("-"); + for (String date : dates) { + dateArrayList.addAll(getDateFromLD(date)); + } + } if (dateStr.equals("昨天")) { - return getEffectiveToday().minusDays(1).toLocalDate(); - } - if (dateStr.equals("今天")) { - return getEffectiveToday().toLocalDate(); + dateArrayList.add(getEffectiveToday().minusDays(1).toLocalDate()); + return dateArrayList; } + // 定义支持的日期格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); @@ -2085,7 +2091,8 @@ public class JDUtil { // 成功解析后,可执行后续操作(例如业务逻辑) logger.info("成功解析日期: {}", date); - return date; + dateArrayList.add(date); + return dateArrayList; } public static LocalDateTime getEffectiveToday() { @@ -2102,7 +2109,7 @@ public class JDUtil { * @param input 用户输入内容 * @return 解析出的 LocalDate 对象,如果没有带日期则返回 null */ - private LocalDate parseUserDateIfPresent(String input) { + private List parseUserDateIfPresent(String input) { if ((input.startsWith("慢单") || input.startsWith("录单")) && !input.startsWith("单")) { logger.info("开始解析用户输入的日期 {}", input); String dateStr = input.replaceAll("慢单|录单", "").trim(); @@ -2143,7 +2150,7 @@ public class JDUtil { } // 按 distributionMark 分组 - Map> groupedByDistributionMark = todayOrders.stream().collect(Collectors.groupingBy(JDOrder::getDistributionMark, Collectors.toList())); + Map> groupedByDistributionMark = todayOrders.stream().filter(o -> o.getStatus().equals("拍错退款")).collect(Collectors.groupingBy(JDOrder::getDistributionMark, Collectors.toList())); for (Map.Entry> entry : groupedByDistributionMark.entrySet()) { String distributionMark = entry.getKey() != null ? entry.getKey() : "未提供";