编写评级结果相关接口

This commit is contained in:
wcq 2023-06-16 10:38:37 +08:00
parent f3575b1461
commit 7cd1537e2f
4 changed files with 18 additions and 14 deletions

View File

@ -20,7 +20,7 @@ from ..Types.RateRes import RateRes
router = APIRouter(prefix="/rate_flow") router = APIRouter(prefix="/rate_flow")
@router.post("/create_rate_flow_from_company_user", summary="企业用户创建评级流程") @router.post("/create_rate_flow_from_company_user", summary="企业用户创建评级流程", tags=["评级流程"])
def func(token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend), def func(token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend),
db: Session = Depends(common_db.get_db)): db: Session = Depends(common_db.get_db)):
company_name = token.company_name company_name = token.company_name
@ -32,7 +32,8 @@ def func(token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token
return {"message": "创建成功", "code": 200} return {"message": "创建成功", "code": 200}
@router.post("/get_rate_flow_by_id", summary="获取评级流程数据", response_model=Schemas.GetRateFlowByIdRes) @router.post("/get_rate_flow_by_id", summary="获取评级流程数据", response_model=Schemas.GetRateFlowByIdRes,
tags=["评级流程"])
def func(req: Schemas.GetRateFlowByIdReq, def func(req: Schemas.GetRateFlowByIdReq,
token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend), token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend),
db: Session = Depends(common_db.get_db), mongodb: MongoConnect = Depends(mg_db.get_db)): db: Session = Depends(common_db.get_db), mongodb: MongoConnect = Depends(mg_db.get_db)):
@ -43,7 +44,7 @@ def func(req: Schemas.GetRateFlowByIdReq,
@router.post("/get_rate_flow_by_company_user", summary="获取评级列表", @router.post("/get_rate_flow_by_company_user", summary="获取评级列表",
response_model=Schemas.GetRateFlowByCompanyUserRes) response_model=Schemas.GetRateFlowByCompanyUserRes, tags=["评级流程"])
def func(token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend), def func(token: CompanyUserTokenDataModel = Depends(company_user_auth_util.token_data_depend),
db: Session = Depends(common_db.get_db), mongodb: MongoConnect = Depends(mg_db.get_db)): db: Session = Depends(common_db.get_db), mongodb: MongoConnect = Depends(mg_db.get_db)):
items = [item for item in db.query(RateFlow).filter(RateFlow.company_name == token.company_name)] items = [item for item in db.query(RateFlow).filter(RateFlow.company_name == token.company_name)]
@ -127,7 +128,7 @@ def func(req: Schemas.DoRateReq,
# return Schemas.RateFlowAddRes(**item.to_dict()) # return Schemas.RateFlowAddRes(**item.to_dict())
@router.post("/rate_res/delete", summary="删除评级结果") @router.post("/rate_res/delete", summary="删除评级结果", tags=["评级结果"])
def rate_flow_delete(req: Schemas.RateFlowDeleteReq, db: Session = Depends(common_db.get_db), def rate_flow_delete(req: Schemas.RateFlowDeleteReq, db: Session = Depends(common_db.get_db),
token: AdminUserTokenDataModel = Depends(admin_user_auth_util.token_data_depend) token: AdminUserTokenDataModel = Depends(admin_user_auth_util.token_data_depend)
): ):
@ -135,14 +136,14 @@ def rate_flow_delete(req: Schemas.RateFlowDeleteReq, db: Session = Depends(commo
return "删除成功" return "删除成功"
@router.post("/rate_res/update", summary="更新评级结果", response_model=Schemas.RateFlowUpdateRes) @router.post("/rate_res/update", summary="更新评级结果", response_model=Schemas.RateFlowUpdateRes, tags=["评级结果"])
def rate_flow_update(req: Schemas.RateFlowUpdateReq, db: Session = Depends(common_db.get_db), def rate_flow_update(req: Schemas.RateFlowUpdateReq, db: Session = Depends(common_db.get_db),
token: AdminUserTokenDataModel = Depends(admin_user_auth_util.token_data_depend)): token: AdminUserTokenDataModel = Depends(admin_user_auth_util.token_data_depend)):
item = Crud.rate_flow_update(db, req) item = Crud.rate_flow_update(db, req)
return Schemas.RateFlowUpdateRes(**item.to_dict()) return Schemas.RateFlowUpdateRes(**item.to_dict())
@router.post("/rate_res/get", summary="获取评级结果", response_model=Schemas.RateFlowGetRes) @router.post("/rate_res/get", summary="获取评级结果", response_model=Schemas.RateFlowGetRes, tags=["评级结果"])
def rate_flow_get(req: Schemas.RateFlowGetReq, db: Session = Depends(common_db.get_db)): def rate_flow_get(req: Schemas.RateFlowGetReq, db: Session = Depends(common_db.get_db)):
item = Crud.rate_flow_get(db, req.id) item = Crud.rate_flow_get(db, req.id)
if not item: if not item:
@ -150,7 +151,7 @@ def rate_flow_get(req: Schemas.RateFlowGetReq, db: Session = Depends(common_db.g
return Schemas.RateFlowGetRes(**item.to_dict()) return Schemas.RateFlowGetRes(**item.to_dict())
@router.post("/rate_res/query", summary="查询评级结果", response_model=Schemas.RateFlowQueryRes) @router.post("/rate_res/query", summary="查询评级结果", response_model=Schemas.RateFlowQueryRes, tags=["评级结果"])
def rate_flow_query(req: Schemas.RateFlowQueryReq, db: Session = Depends(common_db.get_db)): def rate_flow_query(req: Schemas.RateFlowQueryReq, db: Session = Depends(common_db.get_db)):
count, query = Crud.rate_flow_query(db, req) count, query = Crud.rate_flow_query(db, req)
items = [Schemas.RateFlowInfo(**item.to_dict()) for item in query] items = [Schemas.RateFlowInfo(**item.to_dict()) for item in query]
@ -158,7 +159,7 @@ def rate_flow_query(req: Schemas.RateFlowQueryReq, db: Session = Depends(common_
@router.post("/rate_res/query_common", summary="通用查询评级结果", @router.post("/rate_res/query_common", summary="通用查询评级结果",
response_model=Schemas.RateFlowQueryRes) response_model=Schemas.RateFlowQueryRes, tags=["评级结果"])
def rate_flow_query_common(req: QueryParams, db: Session = Depends(common_db.get_db)): def rate_flow_query_common(req: QueryParams, db: Session = Depends(common_db.get_db)):
count, query = query_common(db, RateFlow, req) count, query = query_common(db, RateFlow, req)
items = [Schemas.RateFlowInfo(**item.to_dict()) for item in query] items = [Schemas.RateFlowInfo(**item.to_dict()) for item in query]

View File

@ -1,11 +1,11 @@
from datetime import date, datetime from datetime import date, datetime
from enum import Enum, unique from enum import Enum, unique
from typing import List, Optional, LiteralString from typing import List, Optional, Literal, Union,Any
from pydantic import BaseModel from pydantic import BaseModel
RateFlowStatus = LiteralString['进行', '完成', '失败', '取消'] RateFlowStatus = Literal['进行', '完成', '失败', '取消']
RateFlowNodeStatus = LiteralString['进行', '完成', '失败', '取消'] RateFlowNodeStatus = Literal['进行', '完成', '失败', '取消']
class NodeInfo(BaseModel): class NodeInfo(BaseModel):
@ -13,7 +13,7 @@ class NodeInfo(BaseModel):
node_num: Optional[int] node_num: Optional[int]
node_name: Optional[str] node_name: Optional[str]
status: Optional[RateFlowNodeStatus] status: Optional[RateFlowNodeStatus]
content: {} content: Optional[dict]
class RateFlowInfo(BaseModel): class RateFlowInfo(BaseModel):
@ -25,7 +25,7 @@ class RateFlowInfo(BaseModel):
status: Optional[RateFlowStatus] status: Optional[RateFlowStatus]
publish: Optional[bool] publish: Optional[bool]
create_time: Optional[datetime] create_time: Optional[datetime]
nodes: Optional[List[Optional[NodeInfo, any]]] nodes: Optional[List[Union[NodeInfo, Any]]]
class GetRateFlowByIdReq(BaseModel): class GetRateFlowByIdReq(BaseModel):

View File

@ -1,4 +1,4 @@
from fastapi import APIRouter from fastapi import APIRouter
from .RateFlow import Router as RateRouter from .RateFlow import Router as RateRouter
router = APIRouter(prefix="") router = APIRouter(prefix="/rate")
router.include_router(RateRouter.router) router.include_router(RateRouter.router)

View File

@ -1,4 +1,7 @@
from fastapi import APIRouter from fastapi import APIRouter
from .User import Router as UserRouter from .User import Router as UserRouter
from .Rate import Router as RateRouter
router = APIRouter(prefix="") router = APIRouter(prefix="")
router.include_router(UserRouter.router) router.include_router(UserRouter.router)
router.include_router(RateRouter.router)