1 parent
f246febe87
commit
04d8e4c38f
2 files changed
+52
-2
No files matched your search
+50
-2
@@ -12,6 +12,48 @@ from app.utils.feishu import create_doc, get_doc_block, create_doc_block, get_me
|
||||
from app.utils.utils import update_record
|
||||
|
||||
|
||||
def parse_history_message(data):
|
||||
sender_id = ""
|
||||
|
||||
message_content_data = []
|
||||
message_images_data = []
|
||||
|
||||
items = data.get("data").get("items")
|
||||
|
||||
for index, item in enumerate(items):
|
||||
|
||||
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(message_content_data)
|
||||
print(message_images_data)
|
||||
|
||||
return message_content_data, message_images_data
|
||||
|
||||
@shared_task(include_result=False)
|
||||
def process_message_callback(
|
||||
app_id, app_secret, bitable_token, table_id, cache_dir, data
|
||||
@@ -74,13 +116,18 @@ def process_message_callback(
|
||||
.build()
|
||||
)
|
||||
|
||||
record["问题概述"] = content_text
|
||||
record["创建人"] = [{"id": sender_id}]
|
||||
|
||||
history_message_data = get_messages(client, "thread", thread_id, cache_dir)
|
||||
lark.logger.info(f"history_message_data: {history_message_data}")
|
||||
|
||||
for image in images:
|
||||
message_content_data, message_images_data = parse_history_message(
|
||||
history_message_data
|
||||
)
|
||||
|
||||
record["问题概述"] = "\n".join(message_content_data)
|
||||
|
||||
for image in message_images_data:
|
||||
image_path = get_message_resource(client, message_id, image, "image", cache_dir)
|
||||
print("下载文件成功:", image, image_path)
|
||||
file_token = upload_media(client, image_path, "bitable_image", bitable_token)
|
||||
@@ -130,6 +177,7 @@ def sync_xbot_activity_info():
|
||||
office_activity_uuids = get_activity_info(token)
|
||||
print(f"office_activity_uuids count: {len(office_activity_uuids)}")
|
||||
|
||||
|
||||
for item in office_activity_uuids:
|
||||
robot_uuid = item.get("robotUuid")
|
||||
package_view_name = item.get("packageViewName")
|
||||
|
||||
@@ -289,6 +289,8 @@ def get_messages(client, container_id_type="", container_id="", page_size=50):
|
||||
ListMessageRequest.builder()
|
||||
.container_id_type(container_id_type)
|
||||
.container_id(container_id)
|
||||
.sort_type("ByCreateTimeAsc")
|
||||
.page_size(50)
|
||||
.build()
|
||||
)
|
||||
|
||||
|
||||
Reference in new issue
Block a user