# youfool-holiday-sdk youfool-holiday调度sdk ## 使用方法 ### 配置初始化 ```java // 初始化假期计算器 HolidayCalculatorConfig config = new HolidayCalculatorConfig(); // 是否在线同步数据模式 config. setOnline(Boolean.parseBoolean(environment.getProperty("holiday.online"))); // 离线模式配置文件路径(默认:classpath:holiday) config. setConfigPath(environment.getProperty("holiday.config-path")); // 工作时间区间配置,多个用;隔开,示例:08:00-12:00;14:00-17:00 config. setWorkTime(environment.getProperty("holiday.work-time")); // 数据同步间隔,默认-1(只在初始化时同步) String interval = environment.getProperty("holiday.flush-interval"); if(interval !=null){ config. setFlushInterval(Long.parseLong(interval.trim())); } HolidayCalculator. init(config); ``` ### 在线假期信息配置路径 > 在线模式: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`文件即可。无需重启项目 ### 初始化后调用 ```java // 推算工作日 HolidayCalculator.calcWorkDate(LocalDate.now(), 4); // 判断是否是工作日 HolidayCalculator. isWorkDay(LocalDate.now()); // 判断限制是否为工作时间 HolidayCalculator. isWorkTime(LocalDateTime.now()); ```