每年的假期

@Scheduled(cron = "0 0 0 1 1 *")
    public Result<?> importHoliDay() {
        Calendar calendar = Calendar.getInstance();
        //获取当前的年
        int year = calendar.get(Calendar.YEAR);
        String dateTime = year + "-01-01";
        this.remove(null);

        //调用第三方接口获取全年的日期和节假日期
        String url = "https://www.mxnzp.com/api/holiday/list/year/" + year;
        Map<String, String> paramMap = new HashMap<>(16);
        paramMap.put("app_id", "xek9gjnuukihyold");
        paramMap.put("app_secret", "bHJtVE0zbTkrWWpabEEra1k0WGNtUT09");
        // 带参GET请求
        String result = HttpClientUtil.doGet(url, paramMap);
        JSONObject jsonObject = JSONObject.parseObject(result);
        Integer code = jsonObject.getInteger("code");
        if (code.equals(1)) {
            List<MdHolidayEntity> list = new ArrayList<>();
            JSONArray dateJson = jsonObject.getJSONArray("data");
            for (int i = 0; i < dateJson.size(); i++) {
                JSONObject jsonObject1 = dateJson.getJSONObject(i);
                JSONArray daysJson = jsonObject1.getJSONArray("days");
                for (int j = 0; j < daysJson.size(); j++) {
                    JSONObject jsonObject2 = daysJson.getJSONObject(j);
                    String date = jsonObject2.getString("date");
                    Integer weekDay = jsonObject2.getInteger("weekDay");
                    Integer dateType = jsonObject2.getInteger("type");
                    String typeDes = jsonObject2.getString("typeDes");
                    Integer dayOfYear = jsonObject2.getInteger("dayOfYear");
                    Integer weekOfYear = jsonObject2.getInteger("weekOfYear");
                    Integer workDayOfMonth = jsonObject2.getInteger("indexWorkDayOfMonth");
                    MdHolidayEntity jhActHoliday = new MdHolidayEntity();
                    jhActHoliday.setDayOfYear(dayOfYear);
                    jhActHoliday.setDateTime(date);
                    jhActHoliday.setDateType(dateType);
                    jhActHoliday.setTypeDes(typeDes);
                    jhActHoliday.setWeekDay(weekDay);
                    jhActHoliday.setWeekOfYear(weekOfYear);
                    jhActHoliday.setWorkDayOfMonth(workDayOfMonth);
                    list.add(jhActHoliday);
                }
            }
            this.saveBatch(list);
        }


        return Result.OK("导入假期成功!");
    }

实体类

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("md_holiday")
public class MdHolidayEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 日期
     */
    @TableField("date_time")
    private String dateTime;

    /**
     * 当前周第几天 
     */
    @TableField("week_day")
    private Integer weekDay;

    /**
     * 0:工作日 1 周末假日 2 节假日
     */
    @TableField("date_type")
    private Integer dateType;

    /**
     * 类型描述 比如 国庆,休息日,工作日
     */
    @TableField("type_des")
    private String typeDes;

    /**
     * 这一年的第几天
     */
    @TableField("day_of_year")
    private Integer dayOfYear;

    /**
     * 这一年的第几周
     */
    @TableField("week_of_year")
    private Integer weekOfYear;

    /**
     * 当前月的第几个工作日
     */
    @TableField("work_day_of_month")
    private Integer workDayOfMonth;

    @TableField("sys_code")
    private String sysCode;


}

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值