|
@@ -1,3 +1,4 @@
|
|
|
|
|
+import json
|
|
|
from datetime import datetime
|
|
from datetime import datetime
|
|
|
import httpx
|
|
import httpx
|
|
|
|
|
|
|
@@ -72,6 +73,32 @@ class BishengService:
|
|
|
for item in data
|
|
for item in data
|
|
|
if "latest_message" in item and "message" in item["latest_message"] and item["latest_message"]["message"]
|
|
if "latest_message" in item and "message" in item["latest_message"] and item["latest_message"]["message"]
|
|
|
]
|
|
]
|
|
|
|
|
+
|
|
|
|
|
+ def process_name(item):
|
|
|
|
|
+ message = item.get("latest_message", {}).get("message", "")
|
|
|
|
|
+ name = message
|
|
|
|
|
+ try:
|
|
|
|
|
+ message_json = json.loads(message)
|
|
|
|
|
+ if 'question' in message_json:
|
|
|
|
|
+ name = message_json['question']
|
|
|
|
|
+ elif 'query' in message_json:
|
|
|
|
|
+ name = message_json['query']
|
|
|
|
|
+ elif 'report_name' in message_json:
|
|
|
|
|
+ name = message_json['report_name']
|
|
|
|
|
+ except json.JSONDecodeError:
|
|
|
|
|
+ pass
|
|
|
|
|
+ return name
|
|
|
|
|
+
|
|
|
|
|
+ result = [
|
|
|
|
|
+ {
|
|
|
|
|
+ "id": item["chat_id"],
|
|
|
|
|
+ "name": process_name(item),
|
|
|
|
|
+ "updated_time": int(datetime.strptime(item["update_time"], "%Y-%m-%dT%H:%M:%S").timestamp() * 1000)
|
|
|
|
|
+ }
|
|
|
|
|
+ for item in data
|
|
|
|
|
+ if "latest_message" in item and "message" in item["latest_message"] and item["latest_message"]["message"]
|
|
|
|
|
+ ]
|
|
|
|
|
+
|
|
|
return result
|
|
return result
|
|
|
|
|
|
|
|
async def get_session_log(self, token: str, agent_id: str, conversation_id: str):
|
|
async def get_session_log(self, token: str, agent_id: str, conversation_id: str):
|