You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.7 KiB

from typing import List
1 month ago
from fastapi import APIRouter, Depends, Request, UploadFile, File, Query
from sqlalchemy.ext.asyncio import AsyncSession
from config.get_db import get_db
from module_admin.entity.vo.user_vo import CurrentUserModel
from module_admin.entity.vo.dataint_vo import TsmcbPageObject, SaveTsmcbModel
from module_admin.service.login_service import LoginService
from module_admin.service.tsmcb_service import TsmcbService
from utils.response_util import ResponseUtil
1 month ago
from utils.common_util import bytes2file_response
tsmcbController = APIRouter(prefix='/dataint/tsmcb', dependencies=[Depends(LoginService.get_current_user)])
@tsmcbController.get("/list")
async def get_tsmcb_list(request: Request, tsmcb_query: TsmcbPageObject = Depends(TsmcbPageObject.as_query),
1 month ago
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
meta_query_result = await TsmcbService.get_tsmcb_list_services(query_db, tsmcb_query, current_user)
return ResponseUtil.success(data=meta_query_result)
@tsmcbController.post("/save")
async def save_tsmcb(request: Request,
1 month ago
saveTsmcbModel: SaveTsmcbModel,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
result = await TsmcbService.save_tsmcb(query_db, saveTsmcbModel, current_user)
return ResponseUtil.success(msg=result.message)
1 month ago
@tsmcbController.post("/delete")
async def delete_tsmcb(request: Request,
1 month ago
array: List[str],
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
result = await TsmcbService.delete_tsmcb(query_db, array)
return ResponseUtil.success(msg=result.message)
1 month ago
@tsmcbController.post("/upload")
async def batch_import_tsmcb_data(
request: Request,
file: UploadFile = File(...),
overWrite: bool = Query(alias='overWrite'),
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
batch_import_result = await TsmcbService.batch_import_tsmcb_data(query_db, file, overWrite, current_user)
return ResponseUtil.success(data=batch_import_result)
1 month ago
@tsmcbController.post("/importTemplate")
async def export_tsmcb_template(request: Request, query_db: AsyncSession = Depends(get_db)):
meta_import_template_result = await TsmcbService.get_import_template_services()
return ResponseUtil.streaming(data=bytes2file_response(meta_import_template_result))