From 3f2f88422e221a4bda5d1a49e3fb1cab41a1c0d9 Mon Sep 17 00:00:00 2001 From: Van0313 <60689272+Van0313@users.noreply.github.com> Date: Thu, 19 Jun 2025 01:06:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=95=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/van/business/util/JDUtil.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/java/cn/van/business/util/JDUtil.java b/src/main/java/cn/van/business/util/JDUtil.java index 407c352..703c5d3 100644 --- a/src/main/java/cn/van/business/util/JDUtil.java +++ b/src/main/java/cn/van/business/util/JDUtil.java @@ -2078,22 +2078,18 @@ public class JDUtil { dateArrayList.addAll(getDateFromLD(date)); } return dateArrayList; - } - if (dateStr.equals("昨天")) { - dateArrayList.add(getEffectiveToday().minusDays(1).toLocalDate()); + }else { + // 定义支持的日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + // 解析日期字符串为 LocalDate 对象 + LocalDate date = LocalDate.parse(dateStr, formatter); + // 成功解析后,可执行后续操作(例如业务逻辑) + logger.info("成功解析日期: {}", date); + dateArrayList.add(date); return dateArrayList; } - // 定义支持的日期格式 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - // 解析日期字符串为 LocalDate 对象 - LocalDate date = LocalDate.parse(dateStr, formatter); - - // 成功解析后,可执行后续操作(例如业务逻辑) - logger.info("成功解析日期: {}", date); - dateArrayList.add(date); - return dateArrayList; } public static LocalDateTime getEffectiveToday() { @@ -2116,7 +2112,10 @@ public class JDUtil { String dateStr = input.replaceAll("慢单|录单", "").trim(); logger.info("解析出的日期 {}", dateStr); if (!dateStr.isEmpty()) { - return getDateFromLD(dateStr); + List dateFromLD = getDateFromLD(dateStr); + if (dateFromLD != null && dateFromLD.size()==1 ){ + dateFromLD.add(dateFromLD.get(0)); + } } } return null; // 没有带日期或格式错误,返回 null @@ -2124,16 +2123,17 @@ public class JDUtil { public void manman(String input, String fromWxid) { // 1️⃣ 调用封装好的方法提取日期 - List userDate = parseUserDateIfPresent(input); + List userDate = new ArrayList<>(); + List localDates = parseUserDateIfPresent(input); + if (localDates!=null){ + userDate = localDates; + }else { + // 2️⃣ 获取有效“今天” + LocalDateTime today = getEffectiveToday(); + userDate.add(today.toLocalDate()); + userDate.add(today.toLocalDate()); + } - // 2️⃣ 获取有效“今天” - LocalDateTime today = getEffectiveToday(); - if (userDate == null) { - userDate.add(today.toLocalDate()); - } - if (userDate.size() == 1) { - userDate.add(today.toLocalDate()); - } // 3️⃣ 构造查询时间范围 LocalDateTime startOfDay = LocalDateTime.from(userDate.get(0).with(LocalTime.MIN)); LocalDateTime endOfDay = LocalDateTime.from(userDate.get(1).with(LocalTime.MAX));