From 6769ed6a6d74b15c6dc2d116701a329fa7a0d4b6 Mon Sep 17 00:00:00 2001 From: woni <320753691@qq.com> Date: Tue, 28 May 2024 17:39:38 +0800 Subject: [PATCH] fix print --- app/task.py | 18 ++--- app/test/tmp.py | 164 ++++++++++++++++++++++++++++++++++++++++++++ app/utils/feishu.py | 3 +- 3 files changed, 172 insertions(+), 13 deletions(-) create mode 100644 app/test/tmp.py diff --git a/app/task.py b/app/task.py index 27de2af..415d049 100644 --- a/app/task.py +++ b/app/task.py @@ -8,7 +8,7 @@ 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 +from app.utils.feishu import create_doc, get_doc_block, create_doc_block, get_messages from app.utils.utils import update_record @@ -18,6 +18,7 @@ def process_message_callback( ) -> None: """ 记录问题到多维表格逻辑 + """ # 如果 @机器人 等于"记录问题", 获取当前的话题 @@ -25,6 +26,9 @@ def process_message_callback( sender_info = event_message.get("sender") message_data = event_message.get("message") + chat_id = message_data.get("chat_id") + thread_id = message_data.get("thread_id") + message_type = message_data.get("message_type") content = message_data.get("content") sender_id = message_data.get("sender_id") @@ -59,15 +63,6 @@ def process_message_callback( images = [] images_token = [] - # if message_type == "post": - # content = content["content"] - # for item in chain.from_iterable(content): - # if item.get("tag") == "text": - # message_content += item["text"] - - # if item.get("tag") == "img": - # images.append(item["image_key"]) - lark.logger.info(f"message_content: {content_text}") # 从话题中提取问题发起人的所有消息和图片, 记录到多维表格中, 记录发消息人 openid 并将处理人设置为@机器人的人 @@ -82,7 +77,8 @@ def process_message_callback( record["问题概述"] = content_text record["创建人"] = [{"id": sender_id}] - # 对 image_key 处理并并上传至多维表格 + history_message_data = get_messages(client, message_id, images, cache_dir) + lark.logger.info(f"history_message_data: {history_message_data}") for image in images: image_path = get_message_resource(client, message_id, image, "image", cache_dir) diff --git a/app/test/tmp.py b/app/test/tmp.py new file mode 100644 index 0000000..fa345ae --- /dev/null +++ b/app/test/tmp.py @@ -0,0 +1,164 @@ +import json + +data = { + "code": 0, + "data": { + "has_more": False, + "items": [ + { + "body": { + "content": '{"title":"","content":[[{"tag":"text","text":"图文测试 ","style":[]}],[{"tag":"img","image_key":"img_v3_02ba_8d84e41e-97c1-4fc4-813a-2a21e9569c2g","width":390,"height":221}]]}' + }, + "chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc", + "create_time": "1716885856662", + "deleted": False, + "message_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "msg_type": "post", + "sender": { + "id": "ou_d542891996bf1961f9a94563e6bd4d49", + "id_type": "open_id", + "sender_type": "user", + "tenant_key": "11cf67642edc175f", + }, + "thread_id": "omt_153011a9ab87175d", + "update_time": "1716885856662", + "updated": False, + }, + { + "body": {"content": '{"text":"测试"}'}, + "chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc", + "create_time": "1716885862510", + "deleted": False, + "message_id": "om_c42796d82e790d1e840e28407f7feb4f", + "msg_type": "text", + "parent_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "sender": { + "id": "ou_d542891996bf1961f9a94563e6bd4d49", + "id_type": "open_id", + "sender_type": "user", + "tenant_key": "11cf67642edc175f", + }, + "thread_id": "omt_153011a9ab87175d", + "update_time": "1716885862510", + "updated": False, + }, + { + "body": {"content": '{"text":"@_user_1 记录问题"}'}, + "chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc", + "create_time": "1716885870380", + "deleted": False, + "mentions": [ + { + "id": "ou_76322e169bb6bb8f6e1c8b6631b54d72", + "id_type": "open_id", + "key": "@_user_1", + "name": "官方应用指令", + "tenant_key": "11cf67642edc175f", + } + ], + "message_id": "om_84cf62c399045ff9a522f75519919dd2", + "msg_type": "text", + "parent_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "sender": { + "id": "ou_d542891996bf1961f9a94563e6bd4d49", + "id_type": "open_id", + "sender_type": "user", + "tenant_key": "11cf67642edc175f", + }, + "thread_id": "omt_153011a9ab87175d", + "update_time": "1716885870380", + "updated": False, + }, + { + "body": { + "content": '{"text":"问题已经记录到多维表格, 及时更新工单状态💕"}' + }, + "chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc", + "create_time": "1716885873082", + "deleted": False, + "message_id": "om_6cb45fa521c10b1859b68efbe49f969c", + "msg_type": "text", + "parent_id": "om_84cf62c399045ff9a522f75519919dd2", + "root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "sender": { + "id": "cli_a5110cd1da70900b", + "id_type": "app_id", + "sender_type": "app", + "tenant_key": "11cf67642edc175f", + }, + "thread_id": "omt_153011a9ab87175d", + "update_time": "1716885873082", + "updated": False, + }, + { + "body": { + "content": '{"title":"","content":[[{"tag":"img","image_key":"img_v3_02ba_faca622b-d422-43a7-b72e-b6888c3a85dg","width":932,"height":271}]]}' + }, + "chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc", + "create_time": "1716887901602", + "deleted": False, + "message_id": "om_65d7ba979bdd8dbe9ff3ea0f2a8c6272", + "msg_type": "post", + "parent_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e", + "sender": { + "id": "ou_d542891996bf1961f9a94563e6bd4d49", + "id_type": "open_id", + "sender_type": "user", + "tenant_key": "11cf67642edc175f", + }, + "thread_id": "omt_153011a9ab87175d", + "update_time": "1716887901602", + "updated": False, + }, + ], + "page_token": "", + }, + "msg": "success", +} +sender_id = "" + +message_content_data = [] +message_images_data = [] + + +items = data.get("data").get("items") + +for index, item in enumerate(items): + print("=======================") + + sender_id_item = item.get("sender").get("id") + if index == 0: + sender_id = sender_id_item + + if sender_id != sender_id_item: + continue + + item_content = json.loads(item.get("body").get("content")) + + if item_content.get("text"): + message_content_data.append(item_content.get("text")) + + if item_content.get("content"): + message_content_content_data = item_content.get("content") + + tmp_content_data = [] + for message_content_content_item in message_content_content_data: + for message_content_content_item_item in message_content_content_item: + tmp_content_data.append(message_content_content_item_item) + + for tmp_content_data_item in tmp_content_data: + print(tmp_content_data_item) + if tmp_content_data_item.get("tag") == "text": + message_content_data.append(tmp_content_data_item.get("text")) + if tmp_content_data_item.get("tag") == "img": + message_images_data.append(tmp_content_data_item.get("image_key")) + + # print(item_content) + +print("==========sum=============") + +print(message_content_data) +print(message_images_data) diff --git a/app/utils/feishu.py b/app/utils/feishu.py index e3b7ad9..6924e8b 100644 --- a/app/utils/feishu.py +++ b/app/utils/feishu.py @@ -304,8 +304,7 @@ def get_messages(client, container_id_type="", container_id="", page_size=50): # 处理业务结果 lark.logger.info(lark.JSON.marshal(response.data, indent=4)) - - pass + return json.loads(lark.JSON.marshal(response.data)) if __name__ == "__main__":