Browse Source

style: 使用ruff格式化通用模块,优化导入

master
insistence 7 months ago
parent
commit
f41ee26067
  1. 24
      ruoyi-fastapi-backend/module_admin/controller/common_controller.py
  2. 4
      ruoyi-fastapi-backend/module_admin/entity/vo/common_vo.py
  3. 18
      ruoyi-fastapi-backend/module_admin/service/common_service.py

24
ruoyi-fastapi-backend/module_admin/controller/common_controller.py

@ -1,14 +1,13 @@
from fastapi import APIRouter
from fastapi import Depends, File, Query
from fastapi import APIRouter, BackgroundTasks, Depends, File, Query, Request, UploadFile
from module_admin.service.common_service import CommonService
from module_admin.service.login_service import LoginService
from module_admin.service.common_service import *
from utils.response_util import *
from utils.log_util import *
from utils.log_util import logger
from utils.response_util import ResponseUtil
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(...)):
upload_result = await CommonService.upload_service(request, file)
logger.info('上传成功')
@ -16,16 +15,21 @@ async def common_upload(request: Request, file: UploadFile = File(...)):
return ResponseUtil.success(model_content=upload_result.result)
@commonController.get("/download")
async def common_download(request: Request, background_tasks: BackgroundTasks, file_name: str = Query(alias='fileName'), delete: bool = Query()):
@commonController.get('/download')
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)
logger.info(download_result.message)
return ResponseUtil.streaming(data=download_result.result)
@commonController.get("/download/resource")
async def common_download(request: Request, resource: str = Query()):
@commonController.get('/download/resource')
async def common_download_resource(request: Request, resource: str = Query()):
download_resource_result = await CommonService.download_resource_services(resource)
logger.info(download_resource_result.message)

4
ruoyi-fastapi-backend/module_admin/entity/vo/common_vo.py

@ -1,12 +1,13 @@
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from typing import Optional, Any
from typing import Any, Optional
class CrudResponseModel(BaseModel):
"""
操作响应模型
"""
is_success: bool = Field(description='操作是否成功')
message: str = Field(description='响应信息')
result: Optional[Any] = Field(default=None, description='响应结果')
@ -16,6 +17,7 @@ class UploadResponseModel(BaseModel):
"""
上传响应模型
"""
model_config = ConfigDict(alias_generator=to_camel)
file_name: Optional[str] = Field(default=None, description='新文件映射路径')

18
ruoyi-fastapi-backend/module_admin/service/common_service.py

@ -1,10 +1,9 @@
from fastapi import Request, BackgroundTasks
import os
from fastapi import UploadFile
from datetime import datetime
from fastapi import BackgroundTasks, Request, UploadFile
from config.env import UploadConfig
from module_admin.entity.vo.common_vo import *
from exceptions.exception import ServiceException
from module_admin.entity.vo.common_vo import CrudResponseModel, UploadResponseModel
from utils.upload_util import UploadUtil
@ -43,9 +42,9 @@ class CommonService:
fileName=f'{UploadConfig.UPLOAD_PREFIX}/{relative_path}/{filename}',
newFileName=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
@ -75,8 +74,13 @@ class CommonService:
:return: 上传结果
"""
filepath = os.path.join(resource.replace(UploadConfig.UPLOAD_PREFIX, UploadConfig.UPLOAD_PATH))
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):
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)
):
raise ServiceException(message='文件名称不合法')
elif not UploadUtil.check_file_exists(filepath):
raise ServiceException(message='文件不存在')

Loading…
Cancel
Save