This commit is contained in:
Van0313
2025-06-19 01:06:09 +08:00
parent 7e6dd11969
commit 3f2f88422e

View File

@@ -2078,24 +2078,20 @@ public class JDUtil {
dateArrayList.addAll(getDateFromLD(date)); dateArrayList.addAll(getDateFromLD(date));
} }
return dateArrayList; return dateArrayList;
} }else {
if (dateStr.equals("昨天")) {
dateArrayList.add(getEffectiveToday().minusDays(1).toLocalDate());
return dateArrayList;
}
// 定义支持的日期格式 // 定义支持的日期格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
// 解析日期字符串为 LocalDate 对象 // 解析日期字符串为 LocalDate 对象
LocalDate date = LocalDate.parse(dateStr, formatter); LocalDate date = LocalDate.parse(dateStr, formatter);
// 成功解析后,可执行后续操作(例如业务逻辑) // 成功解析后,可执行后续操作(例如业务逻辑)
logger.info("成功解析日期: {}", date); logger.info("成功解析日期: {}", date);
dateArrayList.add(date); dateArrayList.add(date);
return dateArrayList; return dateArrayList;
} }
}
public static LocalDateTime getEffectiveToday() { public static LocalDateTime getEffectiveToday() {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
if (now.getHour() < 8) { if (now.getHour() < 8) {
@@ -2116,7 +2112,10 @@ public class JDUtil {
String dateStr = input.replaceAll("慢单|录单", "").trim(); String dateStr = input.replaceAll("慢单|录单", "").trim();
logger.info("解析出的日期 {}", dateStr); logger.info("解析出的日期 {}", dateStr);
if (!dateStr.isEmpty()) { if (!dateStr.isEmpty()) {
return getDateFromLD(dateStr); List<LocalDate> dateFromLD = getDateFromLD(dateStr);
if (dateFromLD != null && dateFromLD.size()==1 ){
dateFromLD.add(dateFromLD.get(0));
}
} }
} }
return null; // 没有带日期或格式错误,返回 null return null; // 没有带日期或格式错误,返回 null
@@ -2124,16 +2123,17 @@ public class JDUtil {
public void manman(String input, String fromWxid) { public void manman(String input, String fromWxid) {
// 1⃣ 调用封装好的方法提取日期 // 1⃣ 调用封装好的方法提取日期
List<LocalDate> userDate = parseUserDateIfPresent(input); List<LocalDate> userDate = new ArrayList<>();
List<LocalDate> localDates = parseUserDateIfPresent(input);
if (localDates!=null){
userDate = localDates;
}else {
// 2⃣ 获取有效“今天” // 2⃣ 获取有效“今天”
LocalDateTime today = getEffectiveToday(); LocalDateTime today = getEffectiveToday();
if (userDate == null) { userDate.add(today.toLocalDate());
userDate.add(today.toLocalDate());
}
if (userDate.size() == 1) {
userDate.add(today.toLocalDate()); userDate.add(today.toLocalDate());
} }
// 3⃣ 构造查询时间范围 // 3⃣ 构造查询时间范围
LocalDateTime startOfDay = LocalDateTime.from(userDate.get(0).with(LocalTime.MIN)); LocalDateTime startOfDay = LocalDateTime.from(userDate.get(0).with(LocalTime.MIN));
LocalDateTime endOfDay = LocalDateTime.from(userDate.get(1).with(LocalTime.MAX)); LocalDateTime endOfDay = LocalDateTime.from(userDate.get(1).with(LocalTime.MAX));