rate-sys-template/Mods/CompanySubmit/Router.py

54 lines
2.4 KiB
Python

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from Context.common import common_db
from . import Schemas
from . import Crud
from Utils.SqlAlchemyUtils import QueryParams, query_common
from .Models import CompanySubmit
router = APIRouter(tags=["公司提交数据"])
@router.post("/company_submit/add", summary="添加公司提交数据", response_model=Schemas.CompanySubmitAddRes)
def company_submit_add(req: Schemas.CompanySubmitAddReq, db: Session = Depends(common_db.get_db)):
item = Crud.company_submit_add(db, req)
return Schemas.CompanySubmitAddRes(**item.to_dict())
@router.post("/company_submit/delete", summary="删除公司提交数据")
def company_submit_delete(req: Schemas.CompanySubmitDeleteReq, db: Session = Depends(common_db.get_db)):
Crud.company_submit_delete(db, req.id)
return "删除成功"
@router.post("/company_submit/update", summary="更新公司提交数据", response_model=Schemas.CompanySubmitUpdateRes)
def company_submit_update(req: Schemas.CompanySubmitUpdateReq, db: Session = Depends(common_db.get_db)):
item = Crud.company_submit_update(db, req)
return Schemas.CompanySubmitUpdateRes(**item.to_dict())
@router.post("/company_submit/get", summary="获取公司提交数据", response_model=Schemas.CompanySubmitGetRes)
def company_submit_get(req: Schemas.CompanySubmitGetReq, db: Session = Depends(common_db.get_db)):
item = Crud.company_submit_get(db, req.id)
if not item:
raise HTTPException(detail="未查询到信息", status_code=404)
return Schemas.CompanySubmitGetRes(**item.to_dict())
@router.post("/company_submit/query", summary="查询公司提交数据", response_model=Schemas.CompanySubmitQueryRes)
def company_submit_query(req: Schemas.CompanySubmitQueryReq, db: Session = Depends(common_db.get_db)):
count, query = Crud.company_submit_query(db, req)
items = [Schemas.CompanySubmitInfo(**item.to_dict()) for item in query]
return Schemas.CompanySubmitQueryRes(count=count, items=items)
@router.post("/company_submit/query_common", summary="通用查询公司提交数据",
response_model=Schemas.CompanySubmitQueryRes)
def company_submit_query_common(req: QueryParams, db: Session = Depends(common_db.get_db)):
count, query = query_common(db, CompanySubmit, req)
items = [Schemas.CompanySubmitInfo(**item.to_dict()) for item in query]
return Schemas.CompanySubmitQueryRes(count=count, items=items)
#########