From 60d4f2a8e317947c8bcb26d716fc41c16e616bca Mon Sep 17 00:00:00 2001 From: woni <320753691@qq.com> Date: Thu, 6 Jun 2024 17:59:59 +0800 Subject: [PATCH] add some features --- app/__init__.py | 12 ++++++++++-- app/task.py | 36 ++++++++++++++++++++++++++++++++---- app/utils/yd_utils.py | 16 ++++++++-------- 3 files changed, 50 insertions(+), 14 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index 837ac6c..92b9e56 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -146,8 +146,16 @@ def do_bitable_record_add(data) -> None: return if "record_edited" in actions_name and action_data["status"] == "optgKzdQp5": - # 映射对应的用户 id - process_new_robot.delay() + # 映射对应的用户 id + user_name_id_map = { + "剑心": "0be1759d-d05c-42ad-9ea4-846fc61dc191", + "驿站": "2b694f9f-c3b4-4658-9aad-f714a8ffbc86", + "波音": "668720500393357312", + "虚竹": "620156921033129984", + } + user_id = user_name_id_map.get(action_data["deal_person"]) + action_data["deal_person_id"] = user_id + process_new_robot.delay(app_id, app_secret, action_data) return diff --git a/app/task.py b/app/task.py index ae27334..a5af63a 100644 --- a/app/task.py +++ b/app/task.py @@ -9,8 +9,8 @@ from celery import Task from app.utils.utils import * from app.utils.yd_utils import get_token, get_activity_info from app.utils.feishu import create_doc, get_doc_block, create_doc_block, get_messages -from app.utils.utils import update_record -from app.utils.yd_utils import new_blank_robot +from app.utils.utils import update_record, add_record +from app.utils.yd_utils import new_blank_robot, new_blank_activity def parse_history_message(data): @@ -275,5 +275,33 @@ def process_new_demand(app_id, app_secret, table_id, record_id, data): @shared_task(include_result=False) -def process_new_robot(): - new_blank_robot("测试-根据需求生成应用") +def process_new_robot(app_id, app_secret, action_data): + user_id = action_data["deal_person_id"] + name = action_data["title"] + category = action_data.get("category") + + robot_uuid = "" + catagory_table_record = {"UUID": robot_uuid, "名称": name, "分类": "官方指令"} + + if category == "opt5xydmUE": + robot_uuid = new_blank_robot(name, user_id) + catagory_table_record["分类"] = "官方应用" + + if category == "optRTwYcra": + robot_uuid = new_blank_activity(name, user_id) + catagory_table_record["分类"] = "官方指令" + + # 更新多维表格分类管理 + table_id = "tbl2GcBvkvMtOBnl" + bitable_token = os.environ["OFFICE_XBOT_BITABLE_TOKEN"] + + # 在开发计划中创建记录 + client = ( + lark.Client.builder() + .app_id(app_id) + .app_secret(app_secret) + .log_level(lark.LogLevel.DEBUG) + .build() + ) + add_record(client, bitable_token, table_id, catagory_table_record) + diff --git a/app/utils/yd_utils.py b/app/utils/yd_utils.py index 3ad607f..7beeece 100644 --- a/app/utils/yd_utils.py +++ b/app/utils/yd_utils.py @@ -552,6 +552,8 @@ def new_blank_robot(name="", user_id="80808032853078016"): time.sleep(5) public.add_developer(new_uuid, user_id) + return new_uuid + def new_blank_activity(name="", user_id=""): """新建一个指令""" @@ -560,12 +562,8 @@ def new_blank_activity(name="", user_id=""): public = Client(public_username, public_password) # 1. 设置文件上传模板文件路径 - schema_save_path = os.path.join( - "/home/wn/yd/xybot-private-scripts/data/flow_template/activity", "package.json" - ) - package_save_path = os.path.join( - "/home/wn/yd/xybot-private-scripts/data/flow_template/activity", "activity.bot" - ) + schema_save_path = os.path.join("/code/app/flow_template/activity", "package.json") + package_save_path = os.path.join("/code/app/flow_template/activity", "activity.bot") # 3. 公有云生成指令编码和 UUID activity_package_code = public.generate_packagename() @@ -628,8 +626,10 @@ def new_blank_activity(name="", user_id=""): SAVE_ROBOT_TEMPLATE["robotPackage"]["externalDependencies"] = [] public.save_public(SAVE_ROBOT_TEMPLATE) - time.sleep(2) - public.add_developer(new_robot_uuid, "80808032853078016") + time.sleep(10) + public.add_developer(new_robot_uuid, user_id) + + return new_robot_uuid if __name__ == "__main__":