Skip to content

Commit 632076d

Browse files
committed
feat: chart & export Excel support large number data
#233 fix get predict data error
1 parent e8bdb72 commit 632076d

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

backend/apps/chat/api/chat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
from apps.chat.curd.chat import list_chats, get_chat_with_records, create_chat, rename_chat, \
1212
delete_chat, get_chat_chart_data, get_chat_predict_data, get_chat_with_records_with_data, get_chat_record_by_id, \
13-
format_json_data
13+
format_json_data, format_json_list_data
1414
from apps.chat.models.chat_model import CreateChat, ChatRecord, RenameChat, ChatQuestion, ExcelData
1515
from apps.chat.task.llm import LLMService
1616
from common.core.deps import CurrentAssistant, SessionDep, CurrentUser, Trans
@@ -55,7 +55,7 @@ def inner():
5555
async def chat_predict_data(session: SessionDep, chart_record_id: int):
5656
def inner():
5757
data = get_chat_predict_data(chart_record_id=chart_record_id, session=session)
58-
return format_json_data(data)
58+
return format_json_list_data(data)
5959

6060
return await asyncio.to_thread(inner)
6161

backend/apps/chat/curd/chat.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,16 @@ def get_last_execute_sql_error(session: SessionDep, chart_id: int):
8888

8989
def format_json_data(origin_data: dict):
9090
result = {'fields': origin_data.get('fields') if origin_data.get('fields') else []}
91+
_list = origin_data.get('data') if origin_data.get('data') else []
92+
data = format_json_list_data(_list)
93+
result['data'] = data
94+
95+
return result
96+
97+
98+
def format_json_list_data(origin_data: list[dict]):
9199
data = []
92-
for _data in origin_data.get('data') if origin_data.get('data') else []:
100+
for _data in origin_data if origin_data else []:
93101
_row = {}
94102
for key, value in _data.items():
95103
if value is not None:
@@ -105,9 +113,8 @@ def format_json_data(origin_data: dict):
105113
value = str(value)
106114
_row[key] = value
107115
data.append(_row)
108-
result['data'] = data
109116

110-
return result
117+
return data
111118

112119

113120
def get_chat_chart_data(session: SessionDep, chart_record_id: int):

0 commit comments

Comments
 (0)