From 589b55892476551dbbb778f45d26df6010664061 Mon Sep 17 00:00:00 2001 From: Zhujx Date: Sat, 4 Oct 2025 10:52:56 +0800 Subject: [PATCH] =?UTF-8?q?perf:=E8=8A=82=E5=81=87=E6=97=A5=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiang/xservice/basic/utils/DateUtils.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/DateUtils.java b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/DateUtils.java index 8e5e32a..a344ddf 100644 --- a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/DateUtils.java +++ b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/DateUtils.java @@ -1,6 +1,7 @@ package com.xiang.xservice.basic.utils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import java.time.DayOfWeek; import java.time.LocalDate; @@ -84,4 +85,31 @@ public class DateUtils { } return false; } + + /** + * 校验是否节假日 + * @param date 当前日期 + * @param statusDesc 状态描述,节假日/工作日/周末。1.当status为1时,表示节假日;2.当status为2时,表示工作日;3.当status为null时,如果week为周六或者周日,表示周末,否则表示工作日 + * @param week 表示星期几 + * @param status 当天状态标识,1:节假日,2:工作日,null:周末或工作日(可根据week进行判断,也可以直接根据statusDesc进行判断) + * + * @return 是否是节假日 + */ + public static Boolean validHolidayTime(String date, String statusDesc, String week, String status) { + if (StringUtils.equals(status, "1")) { + return Boolean.TRUE; + } + if (StringUtils.equals(status, "2")) { + log.info("当前日期:{}, {}, 是工作日", date, week); + return Boolean.FALSE; + } + if (StringUtils.isEmpty(status)) { + if (StringUtils.equals(week, "周六") || StringUtils.equals(week, "周日")) { + log.info("当前日期:{}, {}, 是工作日", date, week); + return Boolean.FALSE; + } + return Boolean.TRUE; + } + return Boolean.FALSE; + } }