2023-06-12 10:47:25 +08:00
|
|
|
from fastapi import APIRouter, Depends, HTTPException
|
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
|
|
|
|
from Context.common import common_db, CompanyUserTokenDataModel, company_user_auth_util
|
|
|
|
from . import Schemas
|
|
|
|
from . import Crud
|
|
|
|
from Utils.SqlAlchemyUtils import QueryParams, query_common
|
|
|
|
from .Models import CompanyRate
|
|
|
|
|
|
|
|
router = APIRouter(tags=["公司评级数据"])
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/add", summary="添加公司评级数据", response_model=Schemas.CompanyRateAddRes)
|
|
|
|
def company_rate_add(req: Schemas.CompanyRateAddReq, db: Session = Depends(common_db.get_db),
|
|
|
|
token_data: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend)):
|
|
|
|
req.company_name = token_data.company_name
|
|
|
|
item = Crud.company_rate_add(db, req)
|
|
|
|
return Schemas.CompanyRateAddRes(**item.to_dict())
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/delete", summary="删除公司评级数据")
|
|
|
|
def company_rate_delete(req: Schemas.CompanyRateDeleteReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
Crud.company_rate_delete(db, req.id)
|
|
|
|
return "删除成功"
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/update", summary="更新公司评级数据", response_model=Schemas.CompanyRateUpdateRes)
|
|
|
|
def company_rate_update(req: Schemas.CompanyRateUpdateReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
item = Crud.company_rate_update(db, req)
|
|
|
|
return Schemas.CompanyRateUpdateRes(**item.to_dict())
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/get", summary="获取公司评级数据", response_model=Schemas.CompanyRateGetRes)
|
|
|
|
def company_rate_get(req: Schemas.CompanyRateGetReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
item = Crud.company_rate_get(db, req.id)
|
|
|
|
if not item:
|
|
|
|
raise HTTPException(detail="未查询到信息", status_code=404)
|
|
|
|
return Schemas.CompanyRateGetRes(**item.to_dict())
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/query", summary="查询公司评级数据", response_model=Schemas.CompanyRateQueryRes)
|
|
|
|
def company_rate_query(req: Schemas.CompanyRateQueryReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
count, query = Crud.company_rate_query(db, req)
|
|
|
|
items = [Schemas.CompanyRateInfo(**item.to_dict()) for item in query]
|
|
|
|
return Schemas.CompanyRateQueryRes(count=count, items=items)
|
|
|
|
|
2023-06-12 11:27:47 +08:00
|
|
|
@router.post("/company_rate/query", summary="查询公司评级数据", response_model=Schemas.CompanyRateQueryRes)
|
|
|
|
def company_rate_query(req: Schemas.CompanyRateQueryReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
count, query = Crud.company_rate_query(db, req)
|
|
|
|
items = [Schemas.CompanyRateInfo(**item.to_dict()) for item in query]
|
|
|
|
return Schemas.CompanyRateQueryRes(count=count, items=items)
|
2023-06-12 10:47:25 +08:00
|
|
|
@router.post("/company_rate/query_common", summary="通用查询公司评级数据",
|
|
|
|
response_model=Schemas.CompanyRateQueryRes)
|
|
|
|
def company_rate_query_common(req: QueryParams, db: Session = Depends(common_db.get_db)):
|
|
|
|
count, query = query_common(db, CompanyRate, req)
|
|
|
|
items = [Schemas.CompanyRateInfo(**item.to_dict()) for item in query]
|
|
|
|
return Schemas.CompanyRateQueryRes(count=count, items=items)
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/company_rate", summary="评级")
|
|
|
|
def company_rate(req: Schemas.CompanyRateReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
res = Crud.company_rate(db, req.id)
|
|
|
|
return res
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/load_api_data_to_db", summary="三方接口数据导入", response_model=Schemas.CompanyRateGetRes)
|
|
|
|
def company_rate(req: Schemas.CompanyRateGetReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
res = Crud.load_api_data_to_db(db, req.id)
|
|
|
|
return res.to_dict()
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/company_rate/get_full_info", summary="获取详细信息")
|
|
|
|
def company_rate(req: Schemas.CompanyRateGetReq, db: Session = Depends(common_db.get_db)):
|
|
|
|
res = Crud.get_full_info(db, req.id)
|
|
|
|
return res
|
|
|
|
|
|
|
|
#########
|