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.

81 lines
3.1 KiB

from datetime import datetime
from fastapi import APIRouter, Depends, Request, Form
from pydantic_validation_decorator import ValidateFields
from sqlalchemy.ext.asyncio import AsyncSession
from module_admin.entity.vo.metadata_config_vo import MetadataClasModel, MetadataClasPageQueryModel
from module_admin.service.metadata_config_service import MetadataConfigService
from config.get_db import get_db
from utils.response_util import ResponseUtil
from utils.page_util import PageResponseModel
from utils.log_util import logger
from module_admin.service.login_service import LoginService
from module_admin.entity.vo.user_vo import CurrentUserModel
metadataConfigController = APIRouter(prefix="/metadataConfig")
@metadataConfigController.get("/clas/list", response_model=PageResponseModel)
async def get_metadata_clas_list(
request: Request,
query: MetadataClasPageQueryModel = Depends(MetadataClasPageQueryModel.as_query),
query_db: AsyncSession = Depends(get_db),
):
result = await MetadataConfigService.get_metadata_clas_list_services(query_db, query, is_page=True)
logger.info("获取元数据分类列表成功")
return ResponseUtil.success(model_content=result)
@metadataConfigController.post("/clas")
@ValidateFields(validate_model="add_metadata_clas")
async def add_metadata_clas(
request: Request,
add_clas: MetadataClasModel,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
):
add_clas.upd_time = datetime.now()
add_clas.rec_subm_prsn = current_user.user.user_name
# 这里没有用户信息,若需要创建人信息可自行补充
result = await MetadataConfigService.add_metadata_clas_services(query_db, add_clas)
logger.info(result.message)
return ResponseUtil.success(msg=result.message)
@metadataConfigController.put("/clas")
@ValidateFields(validate_model="edit_metadata_clas")
async def edit_metadata_clas(
request: Request,
edit_clas: MetadataClasModel,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
):
edit_clas.upd_time = datetime.now()
edit_clas.rec_subm_prsn = current_user.user.user_name
result = await MetadataConfigService.edit_metadata_clas_services(query_db, edit_clas)
logger.info(result.message)
return ResponseUtil.success(msg=result.message)
@metadataConfigController.delete("/clas/{clas_ids}")
async def delete_metadata_clas(
request: Request,
clas_ids: str,
query_db: AsyncSession = Depends(get_db),
):
result = await MetadataConfigService.delete_metadata_clas_services(query_db, clas_ids)
logger.info(result.message)
return ResponseUtil.success(msg=result.message)
@metadataConfigController.get("/clas/{clas_id}", response_model=MetadataClasModel)
async def get_metadata_clas_detail(
request: Request,
clas_id: int,
query_db: AsyncSession = Depends(get_db),
):
result = await MetadataConfigService.get_metadata_clas_detail_services(query_db, clas_id)
logger.info(f"获取元数据分类ID={clas_id}详情成功")
return ResponseUtil.success(data=result)