Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions backend/apps/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@
from apps.mcp import mcp
from apps.system.api import login, user, aimodel, workspace, assistant
from apps.terminology.api import terminology
from apps.settings.api import base

api_router = APIRouter()
api_router.include_router(login.router)
api_router.include_router(user.router)
api_router.include_router(workspace.router)
api_router.include_router(assistant.router)
api_router.include_router(aimodel.router)
api_router.include_router(base.router)
api_router.include_router(terminology.router)
api_router.include_router(data_training.router)
api_router.include_router(datasource.router)
Expand Down
30 changes: 1 addition & 29 deletions backend/apps/data_training/api/data_training.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,14 @@

import pandas as pd
from fastapi import APIRouter, File, UploadFile, Query
from fastapi.responses import StreamingResponse, FileResponse
from fastapi.responses import StreamingResponse

from apps.chat.models.chat_model import AxisObj
from apps.data_training.curd.data_training import page_data_training, create_training, update_training, delete_training, \
enable_training, get_all_data_training, batch_create_training
from apps.data_training.models.data_training_model import DataTrainingInfo
from common.core.config import settings
from common.core.deps import SessionDep, CurrentUser, Trans
from common.core.file import FileRequest
from common.utils.data_format import DataFormat

router = APIRouter(tags=["DataTraining"], prefix="/system/data-training")
Expand Down Expand Up @@ -213,30 +212,3 @@ def inner():
}

return await asyncio.to_thread(inner)


@router.post("/download-fail-info")
async def download_excel(req: FileRequest):
"""
根据文件路径下载 Excel 文件
"""
filename = req.file
file_path = os.path.join(path, filename)

# 检查文件是否存在
if not os.path.exists(file_path):
raise HTTPException(404, "File Not Exists")

# 检查文件是否是 Excel 文件
if not filename.endswith('_error.xlsx'):
raise HTTPException(400, "Only support _error.xlsx")

# 获取文件名
filename = os.path.basename(file_path)

# 返回文件
return FileResponse(
path=file_path,
filename=filename,
media_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
39 changes: 39 additions & 0 deletions backend/apps/settings/api/base.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import os
from http.client import HTTPException

from fastapi import APIRouter
from fastapi.responses import FileResponse

from common.core.config import settings
from common.core.file import FileRequest

router = APIRouter(tags=["System"], prefix="/system")

path = settings.EXCEL_PATH


@router.post("/download-fail-info")
async def download_excel(req: FileRequest):
"""
根据文件路径下载 Excel 文件
"""
filename = req.file
file_path = os.path.join(path, filename)

# 检查文件是否存在
if not os.path.exists(file_path):
raise HTTPException(404, "File Not Exists")

# 检查文件是否是 Excel 文件
if not filename.endswith('_error.xlsx'):
raise HTTPException(400, "Only support _error.xlsx")

# 获取文件名
filename = os.path.basename(file_path)

# 返回文件
return FileResponse(
path=file_path,
filename=filename,
media_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
68 changes: 0 additions & 68 deletions backend/apps/settings/api/terminology.py

This file was deleted.

9 changes: 0 additions & 9 deletions frontend/src/api/professional.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,4 @@ export const professionalApi = {
responseType: 'blob',
requestOptions: { customError: true },
}),
downloadError: (path: any) =>
request.post(
`/system/terminology/download-fail-info`,
{ file: path },
{
responseType: 'blob',
requestOptions: { customError: true },
}
),
}
12 changes: 11 additions & 1 deletion frontend/src/api/setting.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
import { request } from '@/utils/request'

export const termApi = {
export const settingsApi = {
pager: (pageNumber: number, pageSize: number) =>
request.get(`/settings/terminology/pager/${pageNumber}/${pageSize}`),
add: (data: any) => request.post('/settings/terminology', data),
edit: (data: any) => request.put('/settings/terminology', data),
delete: (id: number) => request.delete(`/settings/terminology/${id}`),
query: (id: number) => request.get(`/settings/terminology/${id}`),

downloadError: (path: any) =>
request.post(
`/system/download-fail-info`,
{ file: path },
{
responseType: 'blob',
requestOptions: { customError: true },
}
),
}
9 changes: 0 additions & 9 deletions frontend/src/api/training.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,4 @@ export const trainingApi = {
responseType: 'blob',
requestOptions: { customError: true },
}),
downloadError: (path: any) =>
request.post(
`/system/data-training/download-fail-info`,
{ file: path },
{
responseType: 'blob',
requestOptions: { customError: true },
}
),
}
Loading