# routes/TeachingModelController.py
from fastapi import APIRouter , Depends
from auth . dependencies import *
from utils . PageUtil import *
from utils . ParseRequest import *
# 创建一个路由实例,需要依赖get_current_user,登录后才能访问
router = APIRouter ( dependencies = [ Depends ( get_current_user ) ] )
# 【TeachingModel-1】获取主题列表
@router . get ( " /getTrainedTheme " )
async def get_trained_theme ( request : Request ) :
# 获取参数
bureau_id = await get_request_str_param ( request , " bureau_id " , True , True )
stage_id = await get_request_num_param ( request , " stage_id " , True , True , None )
subject_id = await get_request_num_param ( request , " subject_id " , True , True , None )
page_number = await get_request_num_param ( request , " page_number " , False , True , 1 )
page_size = await get_request_num_param ( request , " page_size " , False , True , 10 )
# 数据库查询
select_trained_theme_sql : str = f " SELECT * FROM t_ai_teaching_model_theme WHERE is_deleted = 0 and search_flag = 1 AND bureau_id = ' { bureau_id } ' AND stage_id = { stage_id } AND subject_id = { subject_id } "
print ( select_trained_theme_sql )
page = await get_page_data_by_sql ( select_trained_theme_sql , page_number , page_size )
page = await translate_person_bureau_name ( page )
# 结果返回
return { " success " : True , " message " : " 查询成功! " , " data " : page }
# 【TeachingModel-2】获取热门主题列表
@router . get ( " /getHotTheme " )
async def get_hot_theme ( request : Request ) :
# 获取参数
bureau_id = await get_request_str_param ( request , " bureau_id " , True , True )
page_number = await get_request_num_param ( request , " page_number " , False , True , 1 )
page_size = await get_request_num_param ( request , " page_size " , False , True , 3 )
# 数据库查询
select_hot_theme_sql : str = f " SELECT * FROM t_ai_teaching_model_theme WHERE is_deleted = 0 and search_flag = 1 and bureau_id = ' { bureau_id } ' ORDER BY quote_count DESC "
print ( select_hot_theme_sql )
page = await get_page_data_by_sql ( select_hot_theme_sql , page_number , page_size )
page = await translate_person_bureau_name ( page )
# 结果返回
return { " success " : True , " message " : " 查询成功! " , " data " : page }
# 【TeachingModel-3】获取最新主题列表
@router . get ( " /getNewTheme " )
async def get_new_theme ( request : Request ) :
bureau_id = await get_request_str_param ( request , " bureau_id " , True , True )
page_number = await get_request_num_param ( request , " page_number " , False , True , 1 )
page_size = await get_request_num_param ( request , " page_size " , False , True , 3 )
# 数据库查询
select_new_theme_sql : str = f " SELECT * FROM t_ai_teaching_model_theme WHERE is_deleted = 0 and search_flag = 1 and bureau_id = ' { bureau_id } ' ORDER BY create_time DESC "
print ( select_new_theme_sql )
page = await get_page_data_by_sql ( select_new_theme_sql , page_number , page_size )
page = await translate_person_bureau_name ( page )
# 结果返回
return { " success " : True , " message " : " 查询成功! " , " data " : page }