2025-03-31 09:26:54 +08:00
|
|
|
|
# youfool-holiday-sdk
|
|
|
|
|
|
|
2025-03-31 14:44:16 +08:00
|
|
|
|
youfool-holiday调度sdk
|
|
|
|
|
|
|
|
|
|
|
|
## 使用方法
|
|
|
|
|
|
|
|
|
|
|
|
### 配置初始化
|
|
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
|
// 初始化假期计算器
|
|
|
|
|
|
HolidayCalculatorConfig config = new HolidayCalculatorConfig();
|
|
|
|
|
|
// 是否在线同步数据模式
|
2025-03-31 15:03:58 +08:00
|
|
|
|
config.
|
|
|
|
|
|
|
|
|
|
|
|
setOnline(Boolean.parseBoolean(environment.getProperty("holiday.online")));
|
2025-03-31 14:44:16 +08:00
|
|
|
|
// 离线模式配置文件路径(默认:classpath:holiday)
|
2025-03-31 15:03:58 +08:00
|
|
|
|
config.
|
|
|
|
|
|
|
|
|
|
|
|
setConfigPath(environment.getProperty("holiday.config-path"));
|
2025-03-31 14:44:16 +08:00
|
|
|
|
// 工作时间区间配置,多个用;隔开,示例:08:00-12:00;14:00-17:00
|
2025-03-31 15:03:58 +08:00
|
|
|
|
config.
|
|
|
|
|
|
|
|
|
|
|
|
setWorkTime(environment.getProperty("holiday.work-time"));
|
2025-03-31 14:44:16 +08:00
|
|
|
|
// 数据同步间隔,默认-1(只在初始化时同步)
|
|
|
|
|
|
String interval = environment.getProperty("holiday.flush-interval");
|
2025-03-31 15:03:58 +08:00
|
|
|
|
if(interval !=null){
|
|
|
|
|
|
config.
|
|
|
|
|
|
|
|
|
|
|
|
setFlushInterval(Long.parseLong(interval.trim()));
|
|
|
|
|
|
}
|
|
|
|
|
|
HolidayCalculator.
|
|
|
|
|
|
|
|
|
|
|
|
init(config);
|
2025-03-31 14:44:16 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-03-31 15:03:58 +08:00
|
|
|
|
### 在线假期信息配置路径
|
|
|
|
|
|
|
|
|
|
|
|
> 在线模式:config.setOnline(true);时,需要配置在线数据获取路径
|
|
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
|
config.setHost("http://www.chinaweal.com.cn:8090/holiday-api");// 目前公司的数据后端路径
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
> 离线模式:config.setOnline(false);时,需要配置离线数据获取路径
|
|
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
|
config.setConfigPath("classpath:holiday");
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
> json数据通过公司后端接口 http://www.chinaweal.com.cn:8090/holiday-api/api/holiday/export/{year}.json 获取,并以`.json`
|
|
|
|
|
|
> 为扩展名,保存到上面配置的路径下,配置了定时采集任务的时间后,只需通过修改或增添`.json`文件即可。无需重启项目
|
|
|
|
|
|
|
2025-03-31 14:44:16 +08:00
|
|
|
|
### 初始化后调用
|
|
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
|
// 推算工作日
|
|
|
|
|
|
HolidayCalculator.calcWorkDate(LocalDate.now(), 4);
|
|
|
|
|
|
// 判断是否是工作日
|
2025-03-31 15:03:58 +08:00
|
|
|
|
HolidayCalculator.
|
|
|
|
|
|
|
|
|
|
|
|
isWorkDay(LocalDate.now());
|
2025-03-31 14:44:16 +08:00
|
|
|
|
// 判断限制是否为工作时间
|
2025-03-31 15:03:58 +08:00
|
|
|
|
HolidayCalculator.
|
|
|
|
|
|
|
|
|
|
|
|
isWorkTime(LocalDateTime.now());
|
2025-03-31 14:44:16 +08:00
|
|
|
|
```
|