This commit is contained in:
dataeaseShu
2025-07-25 15:33:56 +08:00
3 changed files with 23 additions and 4 deletions
+10
View File
@@ -662,6 +662,16 @@ class LLMService:
if data['type'] and data['type'] != 'error':
# todo type check
chart = data
if chart.get('columns'):
for v in chart.get('columns'):
v['value'] = v.get('value').lower()
if chart.get('axis'):
if chart.get('axis').get('x'):
chart.get('axis').get('x')['value'] = chart.get('axis').get('x').get('value').lower()
if chart.get('axis').get('y'):
chart.get('axis').get('y')['value'] = chart.get('axis').get('y').get('value').lower()
if chart.get('axis').get('series'):
chart.get('axis').get('series')['value'] = chart.get('axis').get('series').get('value').lower()
elif data['type'] == 'error':
message = data['reason']
error = True
+11 -2
View File
@@ -8,6 +8,7 @@ from fastapi import APIRouter, File, UploadFile, HTTPException
from apps.db.engine import create_table, get_data_engine, insert_data
from common.core.deps import SessionDep, CurrentUser, Trans
from common.utils.utils import SQLBotLogUtil
from ..crud.datasource import get_datasource_list, check_status, create_ds, update_ds, delete_ds, getTables, getFields, \
execSql, update_table_and_fields, getTablesByDs, chooseTables, preview, updateTable, updateField, get_ds, fieldEnum
from ..crud.field import get_fields_by_table_id
@@ -60,7 +61,11 @@ async def get_tables(session: SessionDep, id: int):
@router.post("/getTablesByConf")
async def get_tables_by_conf(session: SessionDep, ds: CoreDatasource):
return getTablesByDs(session, ds)
try:
return getTablesByDs(session, ds)
except Exception as e:
SQLBotLogUtil.error(f"get table failed: {e}")
raise HTTPException(status_code=500, detail=f'Get table Failed: {e.args}')
@router.post("/getFields/{id}/{table_name}")
@@ -100,7 +105,11 @@ async def edit_field(session: SessionDep, field: CoreField):
@router.post("/previewData/{id}")
async def edit_local(session: SessionDep, current_user: CurrentUser, id: int, data: TableObj):
return preview(session, current_user, id, data)
try:
return preview(session, current_user, id, data)
except Exception as e:
SQLBotLogUtil.error(f"Preview failed: {e}")
raise HTTPException(status_code=500, detail=f'Preview Failed: {e.args}')
@router.post("/fieldEnum/{id}")
+2 -2
View File
@@ -134,7 +134,7 @@ def getTables(session: SessionDep, id: int):
def getTablesByDs(session: SessionDep, ds: CoreDatasource):
check_status(session, ds, True)
# check_status(session, ds, True)
tables = get_tables(ds)
return tables
@@ -241,7 +241,7 @@ def updateField(session: SessionDep, field: CoreField):
def preview(session: SessionDep, current_user: CurrentUser, id: int, data: TableObj):
ds = session.query(CoreDatasource).filter(CoreDatasource.id == id).first()
check_status(session, ds, True)
# check_status(session, ds, True)
if data.fields is None or len(data.fields) == 0:
return {"fields": [], "data": [], "sql": ''}