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.sqlalchemy_common_utils 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) #########