美文网首页
法定节假日基础数据

法定节假日基础数据

作者: 放开那小超 | 来源:发表于2019-05-19 13:08 被阅读0次

/*同步conf_holiday数据,在common/config/crontab里面设置每年12月31日执行定时同步

  • 如果今天日期不是12月31日,创建本年节假日数据
  • 如果今天日期是12月31日,创建明年节假日数据
  • /
    async syncHolidayAction(){
    //获取本年
    let startYearDate = moment().year(moment().year()).startOf('year');
    let endYearDate = moment().year(moment().year()).endOf('year');
    let todayDate = moment().format("MM-DD");
    if(todayDate=="12-31"){
    startYearDate = moment().year(moment().year()+1).startOf('year');
    endYearDate = moment().year(moment().year()+1).endOf('year');
    }else{
    //查询是否有今年最后一天数据,有就不用调接口,没有就调接口
    let holiday_json = await this.model("conf_holiday").where({date:endYearDate.format("YYYY-MM-DD")}).find();
    if(!think.isEmpty(holiday_json)) return;
    }
    const diffDays = endYearDate.diff(startYearDate,"day")+1;
    for(var i = 0;i<diffDays;i++){
    /
    接口日期/
    let current_api_date = moment(startYearDate).add(i,"days").format('YYYYMMDD');
    /
    数据库日期/
    let current_db_date = moment(startYearDate).add(i,"days").format('YYYY-MM-DD');
    /
    调用指定日期接口/
    let holiday_res = await axios("http://api.goseek.cn/Tools/holiday?date="+current_api_date);
    let holiday_flag = holiday_res.data.data>0?1:0;
    /
    • 搜索数据库里是否有该日期的记录,有就执行更新操作,没有就执行新增操作
    • /
      let holiday_json = await this.model("conf_holiday").where({date:current_db_date}).find();
      if(think.isEmpty(holiday_json)) {
      /
      没有查询到,执行插入操作*/
      await this.model("conf_holiday").add({date: current_db_date, flag: holiday_flag});
      }
      }
      }

相关文章

网友评论

      本文标题:法定节假日基础数据

      本文链接:https://www.haomeiwen.com/subject/dvnfzqtx.html