import json
import traceback

from aidso_geo.models import spider_save_tos
from aidso_geo.utils import robot_utils, bh_utils
from aidso_geo.utils.ai_interface import get_parse_sse_result
from aidso_geo.utils.tos_utils import get_string_from_tos


def xiaohongshu_android_process_original_data(data):
    file_path = f'geo/{data["taskId"]}/{data["platform"]}/original.text'
    """处理文件内容，提取思考内容、响应内容和URL列表"""
    url_list =[]
    think_content = ""
    response_content = ""
    response_process = ""
    search_keyword = []
    is_think = False
    think_bool = False
    suggestions = []
    response_bool = False
    try:
        original_content = get_string_from_tos(file_path)
        json_content = json.loads(original_content)
        base_info = json_content.get('base_info')
        share_info = json_content.get('share_info')
        elements = json_content.get('elements')
        items = json_content.get('items')
        response_content = base_info.get('text')
        url_list = items


        if "</complex_list>" in response_content:
            response_content = response_content.replace('</complex_list>','')

        spider_save_tos.process_and_save_files(file_path, search_keyword, url_list, think_content, response_content,
                                               suggestions)
        return (file_path, search_keyword, url_list, think_content, response_content, suggestions)
    except Exception as e:
        # parts = file_path.split('/')
        # platform = parts[2]
        # task_id = parts[1]
        # context, quote, suggestion, think, search_word = get_parse_sse_result(platform, task_id)
        # if context:
        #     response_content = context
        #     url_list = quote
        #     suggestions = suggestion
        #     think_content = think
        #     search_keyword = search_word
        #     spider_save_tos.process_and_save_files_ai(file_path, search_keyword, url_list, think_content,
        #                                               response_content,suggestions)
        #
        #     return (file_path, search_keyword, url_list, think_content, response_content, suggestions)
        # else:
        response_content = "对话信息获取失败:-200"
        robot_utils.feishu_tobot(file_path)


    spider_save_tos.process_and_save_files(file_path, search_keyword, url_list, think_content, response_content,
                                           suggestions)
    return (file_path, search_keyword, url_list, think_content, response_content, suggestions)

if __name__ == '__main__':
    # file_path2 = 'geo/7ac6f0c7-988d-4c3e-a45b-f317e144b68e/XHSA/original.text'
    # xiaohongshu_android_process_original_data(file_path2)


    data_list = bh_utils.query_data(f"select * from geo_commit_task  where platform  = 'XHSA' and taskId = '74866a04-8cc0-4c95-be49-836353f9f7bb'")

    # # #
    # # #
    # # # # #
    def handle_item(i):
        if i.get('comWordsMap'):
            i['comWordsMap'] = json.loads(i.get('comWordsMap'))
        if i.get('brandWords'):
            i['brandWords'] = json.loads(i.get('brandWords'))
        if i.get('comWords'):
            i['comWords'] = json.loads(i.get('comWords'))
        if i.get('keywords'):
            i['keywords'] = json.loads(i.get('keywords'))
        if i.get('productWordsMap'):
            i['productWordsMap'] = json.loads(i.get('productWordsMap'))
        return xiaohongshu_android_process_original_data(i)

# 喜欢非遗手作的看这里！周末到河北之涿州！
    if data_list:
        for i in data_list:
            try:
                handle_item(i)
            except Exception as e:
                ...
