from fastapi import Depends, APIRouter, status, Query, Path, HTTPException from internal.models import * from internal.database import fetch_one, fetch_all, execute_query, response_success, raise_if_exists,raise_if_not_found from dependencies import get_current_active_user router = APIRouter( prefix="/classtics", tags=['语录管理'] ) # 获取列表 @router.get("/list") async def classtic_list(): select_query = "SELECT id,header,`text`,descr FROM classtics;" classtic_list = fetch_all(select_query) return response_success(classtic_list, "classtic get list success") # 新增 @router.post("/add") async def classtic_add(classtic:Classtic): insert_query="""INSERT INTO classtics (header,`text`,descr) VALUES(%s,%s,%s)""" insert_value=(classtic.header,classtic.text,classtic.descr) execute_query(insert_query,insert_value) return response_success(data=classtic,message="classtic create success") # 单条数据查询 @router.get("/search") async def classtic_search(header:str=Query(description="语录标题")): select_query="SELECT header FROM classtics WHERE 1=1 " params=[] if header: select_query+="AND header LIKE %s" params.append(f"%{header}%") classtic_query=fetch_all(select_query,params=params,fetchall=True) return response_success(data=classtic_query,message="classtic search success")