96 lines
3.1 KiB
Python
96 lines
3.1 KiB
Python
"""
|
|
测试表单模板表控制层
|
|
"""
|
|
from fastapi import APIRouter, Depends, Query
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
from config.database import get_db
|
|
from module_admin.system.entity.vo.test_form_vo import (
|
|
TestFormModel, TestFormPageModel, DeleteTestFormModel
|
|
)
|
|
from module_admin.system.service.test_form_service import TestFormService
|
|
from module_admin.service.login_service import LoginService
|
|
from module_admin.entity.vo.user_vo import CurrentUserModel
|
|
from utils.response_util import ResponseUtil
|
|
|
|
|
|
# 路由前缀
|
|
router = APIRouter(prefix='/system/test_form', tags=['测试表单模板'])
|
|
|
|
|
|
@router.get('/list')
|
|
async def get_test_form_list(
|
|
page_num: int = Query(1, ge=1),
|
|
page_size: int = Query(10, ge=1, le=100),
|
|
name: str = Query(None),
|
|
form_type: str = Query(None),
|
|
is_active: int = Query(None),
|
|
db: AsyncSession = Depends(get_db),
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
|
|
):
|
|
"""获取表单列表"""
|
|
query_obj = TestFormPageModel(
|
|
page_num=page_num,
|
|
page_size=page_size,
|
|
name=name,
|
|
form_type=form_type,
|
|
is_active=is_active
|
|
)
|
|
result = await TestFormService.get_test_form_list(db, query_obj, is_page=True)
|
|
return ResponseUtil.success(dict_content=result)
|
|
|
|
|
|
@router.get('/list_by_type/{form_type}')
|
|
async def get_forms_by_type(
|
|
form_type: str,
|
|
db: AsyncSession = Depends(get_db),
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
|
|
):
|
|
"""根据类型获取表单列表(不分页)"""
|
|
result = await TestFormService.get_forms_by_type(db, form_type)
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
@router.get('/{id}')
|
|
async def get_test_form_detail(
|
|
id: int,
|
|
db: AsyncSession = Depends(get_db),
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
|
|
):
|
|
"""获取表单详情"""
|
|
result = await TestFormService.get_test_form_detail(db, id)
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
@router.post('/add')
|
|
async def add_test_form(
|
|
model: TestFormModel,
|
|
db: AsyncSession = Depends(get_db),
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
|
|
):
|
|
"""新增表单"""
|
|
result = await TestFormService.add_test_form(db, model, current_user.user.user_id)
|
|
return ResponseUtil.success(msg=result['message'])
|
|
|
|
|
|
@router.put('/edit')
|
|
async def update_test_form(
|
|
model: TestFormModel,
|
|
db: AsyncSession = Depends(get_db),
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
|
|
):
|
|
"""修改表单"""
|
|
result = await TestFormService.update_test_form(db, model, current_user.user.user_id)
|
|
return ResponseUtil.success(msg=result['message'])
|
|
|
|
|
|
@router.delete('/delete/{ids}')
|
|
async def delete_test_form(
|
|
ids: str,
|
|
db: AsyncSession = Depends(get_db),
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
|
|
):
|
|
"""删除表单"""
|
|
model = DeleteTestFormModel(ids=ids)
|
|
result = await TestFormService.delete_test_form(db, model, current_user.user.user_id)
|
|
return ResponseUtil.success(msg=result['message'])
|