style: 使用ruff格式化通用模块,优化导入
This commit is contained in:
@@ -1,14 +1,13 @@
|
|||||||
from fastapi import APIRouter
|
from fastapi import APIRouter, BackgroundTasks, Depends, File, Query, Request, UploadFile
|
||||||
from fastapi import Depends, File, Query
|
from module_admin.service.common_service import CommonService
|
||||||
from module_admin.service.login_service import LoginService
|
from module_admin.service.login_service import LoginService
|
||||||
from module_admin.service.common_service import *
|
from utils.log_util import logger
|
||||||
from utils.response_util import *
|
from utils.response_util import ResponseUtil
|
||||||
from utils.log_util import *
|
|
||||||
|
|
||||||
commonController = APIRouter(prefix='/common', dependencies=[Depends(LoginService.get_current_user)])
|
commonController = APIRouter(prefix='/common', dependencies=[Depends(LoginService.get_current_user)])
|
||||||
|
|
||||||
|
|
||||||
@commonController.post("/upload")
|
@commonController.post('/upload')
|
||||||
async def common_upload(request: Request, file: UploadFile = File(...)):
|
async def common_upload(request: Request, file: UploadFile = File(...)):
|
||||||
upload_result = await CommonService.upload_service(request, file)
|
upload_result = await CommonService.upload_service(request, file)
|
||||||
logger.info('上传成功')
|
logger.info('上传成功')
|
||||||
@@ -16,16 +15,21 @@ async def common_upload(request: Request, file: UploadFile = File(...)):
|
|||||||
return ResponseUtil.success(model_content=upload_result.result)
|
return ResponseUtil.success(model_content=upload_result.result)
|
||||||
|
|
||||||
|
|
||||||
@commonController.get("/download")
|
@commonController.get('/download')
|
||||||
async def common_download(request: Request, background_tasks: BackgroundTasks, file_name: str = Query(alias='fileName'), delete: bool = Query()):
|
async def common_download(
|
||||||
|
request: Request,
|
||||||
|
background_tasks: BackgroundTasks,
|
||||||
|
file_name: str = Query(alias='fileName'),
|
||||||
|
delete: bool = Query(),
|
||||||
|
):
|
||||||
download_result = await CommonService.download_services(background_tasks, file_name, delete)
|
download_result = await CommonService.download_services(background_tasks, file_name, delete)
|
||||||
logger.info(download_result.message)
|
logger.info(download_result.message)
|
||||||
|
|
||||||
return ResponseUtil.streaming(data=download_result.result)
|
return ResponseUtil.streaming(data=download_result.result)
|
||||||
|
|
||||||
|
|
||||||
@commonController.get("/download/resource")
|
@commonController.get('/download/resource')
|
||||||
async def common_download(request: Request, resource: str = Query()):
|
async def common_download_resource(request: Request, resource: str = Query()):
|
||||||
download_resource_result = await CommonService.download_resource_services(resource)
|
download_resource_result = await CommonService.download_resource_services(resource)
|
||||||
logger.info(download_resource_result.message)
|
logger.info(download_resource_result.message)
|
||||||
|
|
||||||
|
@@ -1,12 +1,13 @@
|
|||||||
from pydantic import BaseModel, ConfigDict, Field
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from typing import Optional, Any
|
from typing import Any, Optional
|
||||||
|
|
||||||
|
|
||||||
class CrudResponseModel(BaseModel):
|
class CrudResponseModel(BaseModel):
|
||||||
"""
|
"""
|
||||||
操作响应模型
|
操作响应模型
|
||||||
"""
|
"""
|
||||||
|
|
||||||
is_success: bool = Field(description='操作是否成功')
|
is_success: bool = Field(description='操作是否成功')
|
||||||
message: str = Field(description='响应信息')
|
message: str = Field(description='响应信息')
|
||||||
result: Optional[Any] = Field(default=None, description='响应结果')
|
result: Optional[Any] = Field(default=None, description='响应结果')
|
||||||
@@ -16,6 +17,7 @@ class UploadResponseModel(BaseModel):
|
|||||||
"""
|
"""
|
||||||
上传响应模型
|
上传响应模型
|
||||||
"""
|
"""
|
||||||
|
|
||||||
model_config = ConfigDict(alias_generator=to_camel)
|
model_config = ConfigDict(alias_generator=to_camel)
|
||||||
|
|
||||||
file_name: Optional[str] = Field(default=None, description='新文件映射路径')
|
file_name: Optional[str] = Field(default=None, description='新文件映射路径')
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
from fastapi import Request, BackgroundTasks
|
|
||||||
import os
|
import os
|
||||||
from fastapi import UploadFile
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from fastapi import BackgroundTasks, Request, UploadFile
|
||||||
from config.env import UploadConfig
|
from config.env import UploadConfig
|
||||||
from module_admin.entity.vo.common_vo import *
|
|
||||||
from exceptions.exception import ServiceException
|
from exceptions.exception import ServiceException
|
||||||
|
from module_admin.entity.vo.common_vo import CrudResponseModel, UploadResponseModel
|
||||||
from utils.upload_util import UploadUtil
|
from utils.upload_util import UploadUtil
|
||||||
|
|
||||||
|
|
||||||
@@ -43,9 +42,9 @@ class CommonService:
|
|||||||
fileName=f'{UploadConfig.UPLOAD_PREFIX}/{relative_path}/{filename}',
|
fileName=f'{UploadConfig.UPLOAD_PREFIX}/{relative_path}/{filename}',
|
||||||
newFileName=filename,
|
newFileName=filename,
|
||||||
originalFilename=file.filename,
|
originalFilename=file.filename,
|
||||||
url=f'{request.base_url}{UploadConfig.UPLOAD_PREFIX[1:]}/{relative_path}/{filename}'
|
url=f'{request.base_url}{UploadConfig.UPLOAD_PREFIX[1:]}/{relative_path}/{filename}',
|
||||||
),
|
),
|
||||||
message='上传成功'
|
message='上传成功',
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -75,8 +74,13 @@ class CommonService:
|
|||||||
:return: 上传结果
|
:return: 上传结果
|
||||||
"""
|
"""
|
||||||
filepath = os.path.join(resource.replace(UploadConfig.UPLOAD_PREFIX, UploadConfig.UPLOAD_PATH))
|
filepath = os.path.join(resource.replace(UploadConfig.UPLOAD_PREFIX, UploadConfig.UPLOAD_PATH))
|
||||||
filename = resource.rsplit("/", 1)[-1]
|
filename = resource.rsplit('/', 1)[-1]
|
||||||
if '..' in filename or not UploadUtil.check_file_timestamp(filename) or not UploadUtil.check_file_machine(filename) or not UploadUtil.check_file_random_code(filename):
|
if (
|
||||||
|
'..' in filename
|
||||||
|
or not UploadUtil.check_file_timestamp(filename)
|
||||||
|
or not UploadUtil.check_file_machine(filename)
|
||||||
|
or not UploadUtil.check_file_random_code(filename)
|
||||||
|
):
|
||||||
raise ServiceException(message='文件名称不合法')
|
raise ServiceException(message='文件名称不合法')
|
||||||
elif not UploadUtil.check_file_exists(filepath):
|
elif not UploadUtil.check_file_exists(filepath):
|
||||||
raise ServiceException(message='文件不存在')
|
raise ServiceException(message='文件不存在')
|
||||||
|
Reference in New Issue
Block a user