From c734272842655aad05f9233bf1dfc21735863daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BC=9F?= <250213850@qq.com> Date: Mon, 17 Oct 2022 15:21:12 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=88=9B=E5=BB=BA=E5=BE=85=E5=8A=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/dingding.py | 78 +++++++++++++++++++++++++++++++++++++++++++++-- utils/func.py | 9 +++++- 2 files changed, 83 insertions(+), 4 deletions(-) diff --git a/utils/dingding.py b/utils/dingding.py index aca8371..e74efe7 100644 --- a/utils/dingding.py +++ b/utils/dingding.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- +# This file is auto-generated, don't edit it. Thanks. import json import pprint from copy import deepcopy @@ -5,8 +7,14 @@ from copy import deepcopy import pymongo import redis import requests - +from alibabacloud_dingtalk.todo_1_0.client import Client as dingtalktodo_1_0Client +from alibabacloud_tea_openapi import models as open_api_models +from alibabacloud_dingtalk.todo_1_0 import models as dingtalktodo__1__0_models +from alibabacloud_tea_util import models as util_models +from alibabacloud_tea_util.client import Client as UtilClient +from alibabacloud_tea_openapi import models as open_api_models from core.config import Settings, Debug +from utils import get_msec Settings = Settings() Mongo = Debug() @@ -25,8 +33,12 @@ def get_token(): 获取钉钉token :return: """ - corpid = 'dingd10b2fc689700431' - corpsecret = 'eL2gsI4Hgqx__FC8T5Bjmue_zQoyG5sm-SJqEDdS4NmKPTzFLQ2G93CX24VP2_n3' + #最外部应用的配置 + # corpid = 'dingd10b2fc689700431' + # corpsecret = 'eL2gsI4Hgqx__FC8T5Bjmue_zQoyG5sm-SJqEDdS4NmKPTzFLQ2G93CX24VP2_n3' + # 具体应用的配置 + corpid = 'dinghujiejktl8lytdfo' + corpsecret = 'T5wXtmBZ0JD4ciWs1SP8ZWgRjnLiNFp4KJ0nRJpW_y621aPfu4qz631eCsapkFCh' url = f"https://oapi.dingtalk.com/gettoken" # 请求头 headers = {'Content-type': 'text/html;charset=utf-8', 'Access-Control-Allow-Origin': '*'} @@ -280,7 +292,67 @@ def get_alluid_list(): redisuid = redisdb.get('user_id_list') user = redisuid.decode() return json.loads(user) +class Sample: + def __init__(self): + pass + @staticmethod + def create_client() -> dingtalktodo_1_0Client: + """ + 使用 Token 初始化账号Client + @return: Client + @throws Exception + """ + config = open_api_models.Config() + config.protocol = 'https' + config.region_id = 'central' + return dingtalktodo_1_0Client(config) + + @staticmethod + def create_task( + subject: str, creator_id: str, description: str, executor_ids: list + ) -> None: + """ + 创建钉钉待办 + :param subject: 待办标题 + :param creator_id: 创建者 + :param description: 待办内容 + :param executor_ids: 执行者 + :return: + """ + client = Sample.create_client() + create_todo_task_headers = dingtalktodo__1__0_models.CreateTodoTaskHeaders() + create_todo_task_headers.x_acs_dingtalk_access_token = get_redistoken() + notify_configs = dingtalktodo__1__0_models.CreateTodoTaskRequestNotifyConfigs( + ding_notify='1' + ) + # detail_url = dingtalktodo__1__0_models.CreateTodoTaskRequestDetailUrl( + # app_url='https://www.dingtalk.com', + # pc_url='https://www.dingtalk.com' + # ) + create_todo_task_request = dingtalktodo__1__0_models.CreateTodoTaskRequest( + # source_id='isv_dingtalkTodo1', #业务id + subject=subject, # 待办标题 + creator_id=creator_id, # 创建者unionid + description=description, # 最大长度 4096 + due_time=get_msec(), # 完成待办的截止日期 毫秒 + executor_ids=executor_ids, # 执行者的unionid + # participant_ids=[ + # '6IiSFiSMFoRLWvXgl1Xc82XgiEiE' + # ], #参与者 + # detail_url=detail_url,#详情页跳转地址 + is_only_show_executor=True, + priority=20, # 优先级,普通 + notify_configs=notify_configs # 待办通知配置 + ) + client.create_todo_task_with_options(creator_id, create_todo_task_request, + create_todo_task_headers, util_models.RuntimeOptions()) + # try: + # client.create_todo_task_with_options('PUoiinWIpa2yH2ymhiiGiP6g', create_todo_task_request, + # create_todo_task_headers, util_models.RuntimeOptions()) + # except Exception as err: + # if not UtilClient.empty(err.code) and not UtilClient.empty(err.message): + # return err.message if __name__ == '__main__': import time diff --git a/utils/func.py b/utils/func.py index 6f8fe80..c9fc18f 100644 --- a/utils/func.py +++ b/utils/func.py @@ -376,7 +376,14 @@ def png2pdf(dir_path, filename): doc.save(res_path) return res_path, new_filename - +def get_msec(): + """ + 获取当前日期的毫秒级时间 + :return: + """ + today = datetime.date.today().strftime('%Y-%m-%d 23:59:59') + t = int(time.mktime(time.strptime(today, "%Y-%m-%d %H:%M:%S"))) + return int(round(t * 1000)) if __name__ == '__main__': pass # fn=r'C:\Users\Administrator\Desktop\面试简历1\智联招聘_张双琪_Web开发工程师_中文.doc'