import requests
from pprint import pprint
import peizhi
import redis,json


def test():
    from datetime import date, timedelta
    r = redis.Redis()
    today = date.today()
    today = today + timedelta(days=-3)
    format_today = today.strftime("%Y%m%d")
    tomorrow = today + timedelta(days=1)
    format_tomorrow = tomorrow.strftime("%Y%m%d")
    days = []
    url = "https://api.apihubs.cn/holiday/get"
    params = {
        "year":2021,
        "size":1000
    }
    result = requests.get(url=url,params=params)
    res = result.json()
    pprint(res)
    list = res.get("data").get("list")
    for i in range(len(list)):
        workday = list[i].get("workday")
        if workday == 2:
            date = list[i].get("date")
            days.append(date)
    message = ""

    print(format_tomorrow)
    print("@@@@")
    print(format_today)
    print(days)
    # 如果明天是节假日 今天不是节假日，则进入判断
    if int(format_tomorrow) in days and int(format_today) not in days:
        # 循环判断接下来的时间，看这个假期有多长
        for i in range(1,10):
            print("*"*100)
            print(i)
            print("*" * 100)
            dayday = today + timedelta(days=i)
            dayday = int(dayday.strftime("%Y%m%d"))
            # 下一个是工作日 则跳出循环，以获得一共多长假期
            if dayday not in days:
                break
        print("休息天数：")
        number = i-1
        print(number)

        # redis 存储数据
        redis_list = r.lrange("zhiban", 0, -1)
        redis_list = [item.decode() for item in redis_list]
        print("-"* 100)
        print(redis_list)
        print("*" * 100)
        www = []
        # 如果redis里面的列表是空的
        if not redis_list:
            new_list = peizhi.Personnel_list_new
        else:
            new_list = redis_list + peizhi.Personnel_list_new
            # 取出来名字
        for o in range(0, number):
            print(number)
            www.append(new_list[0])
            new_list.remove(new_list[0])
        r.delete("zhiban")
        r.rpush("zhiban", *new_list)
        phone_list = []
        for i in www:
            phone = peizhi.Personnel_list_1.get(i)
            phone_list.append(phone)
        new_www = ' '.join(www)
        print(new_www)
        print(phone_list)


        # dd_url = "https://oapi.dingtalk.com/robot/send?access_token=062ab7f98f47c85e6c200efd21ae5d532e4f1bbfd6782ae1268b9a1f4d3dc7b9"
        # text = "明日开始休假：休息 %s 天 值班人员为：%s  值班人员记得带 电脑，手机，调通vpn环境" %(number, new_www)
        # json_text = {
        #     "msgtype": "text",
        #     "at": {
        #         "atMobiles": phone_list,
        #         # 变为true 就会@所有人
        #         "isAtAll": False
        #     },
        #     "text": {
        #         "content": text
        #     }
        # }
        #
        # requests.post(url=dd_url, json=json_text, verify=False)


if __name__ == '__main__':
    test()