daily/Mods/DailyPdfFile/Router.py

55 lines
2.4 KiB
Python
Raw Normal View History

2023-04-19 17:15:50 +08:00
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
2023-06-28 16:49:21 +08:00
from Mods.Notice.Utils import DailyNotice
2023-04-19 17:15:50 +08:00
from Utils.SqlAlchemyUtils import get_db, Base
from . import Schemas
from . import Crud
from Utils.SqlAlchemyUtils import QueryParams, query_common
from .Models import DailyPdfFile
router = APIRouter(tags=["日报汇总"])
@router.post("/daily_pdf_file/add", summary="添加日报汇总", response_model=Schemas.DailyPdfFileAddRes)
def daily_pdf_file_add(req: Schemas.DailyPdfFileAddReq, db: Session = Depends(get_db)):
item = Crud.daily_pdf_file_add(db, req)
return Schemas.DailyPdfFileAddRes(**item.to_dict())
@router.post("/daily_pdf_file/delete", summary="删除日报汇总")
def daily_pdf_file_delete(req: Schemas.DailyPdfFileDeleteReq, db: Session = Depends(get_db)):
Crud.daily_pdf_file_delete(db, req.id)
return "删除成功"
@router.post("/daily_pdf_file/update", summary="更新日报汇总", response_model=Schemas.DailyPdfFileUpdateRes)
def daily_pdf_file_update(req: Schemas.DailyPdfFileUpdateReq, db: Session = Depends(get_db)):
item = Crud.daily_pdf_file_update(db, req)
return Schemas.DailyPdfFileUpdateRes(**item.to_dict())
@router.post("/daily_pdf_file/get", summary="获取日报汇总", response_model=Schemas.DailyPdfFileGetRes)
def daily_pdf_file_get(req: Schemas.DailyPdfFileGetReq, db: Session = Depends(get_db)):
item = Crud.daily_pdf_file_get(db, req.id)
if not item:
raise HTTPException(detail="未查询到信息", status_code=404)
return Schemas.DailyPdfFileGetRes(**item.to_dict())
@router.post("/daily_pdf_file/query", summary="查询日报汇总", response_model=Schemas.DailyPdfFileQueryRes)
def daily_pdf_file_query(req: Schemas.DailyPdfFileQueryReq, db: Session = Depends(get_db)):
count, query = Crud.daily_pdf_file_query(db, req)
items = [Schemas.DailyPdfFileInfo(**item.to_dict()) for item in query]
return Schemas.DailyPdfFileQueryRes(count=count, items=items)
@router.post("/daily_pdf_file/query_common", summary="通用查询日报汇总",
response_model=Schemas.DailyPdfFileQueryRes)
def daily_pdf_file_query_common(req: QueryParams, db: Session = Depends(get_db)):
count, query = query_common(db, DailyPdfFile, req)
items = [Schemas.DailyPdfFileInfo(**item.to_dict()) for item in query]
return Schemas.DailyPdfFileQueryRes(count=count, items=items)
#########