""" 测试表单模板表控制层 """ 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'])