项目中要计算当月工作日数,看了别人的代码,觉得不太好,所以稍加改动,没有太多技术含量,难点在于找免费好用的api,所以记录一下
代码中用到了hutool包、lombok,另外api 接口限额为 10000次/IP,所以用了redis缓存
package cn.edu.oa;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.http.HttpUtil;
import cn.micro.framework.spring.SpringContextUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@Slf4j
@Component
public class HolidayUtil {
/**
* todo 待优化
* 判断该日期是否为节假日
*
* @param date 1,正常工作日 2,节假日 3,节假日后补班 4,周末
* @return
*/
public static int getIfHoliday(String date){
int flag=1;
try {
String post = HttpUtil.get("http://timor.tech/api/holiday/ " + da