changes
This commit is contained in:
parent
7e2df42fec
commit
399c40c219
|
@ -91,9 +91,33 @@ def func06(schema: Schemas.SearchIndicatorReqBody, db: Session = Depends(get_db)
|
|||
return {"items": indicators, "total": total}
|
||||
|
||||
|
||||
@router.post("/register", summary='注册指标', tags=["指标"], response_model=Schemas.CreateIndicatorResBody)
|
||||
def func07(schema: Schemas.RegisterIndicatorReqBody, db: Session = Depends(get_db)):
|
||||
index_obj = Crud.get_indicator_by_ename(db, ename=schema.ename)
|
||||
if index_obj:
|
||||
raise HTTPException(status_code=202, detail="Indicator Already Registered")
|
||||
|
||||
category_obj = Crud.get_category_by_name(db=db, title=schema.category)
|
||||
if not category_obj:
|
||||
raise HTTPException(status_code=202, detail="Category Not Found")
|
||||
|
||||
real_schema = schema.dict()
|
||||
real_schema.pop("category")
|
||||
real_schema.update({"category_id": category_obj.id})
|
||||
real_schema = Schemas.CreateIndicatorReqBody(**real_schema)
|
||||
|
||||
index_obj = Crud.create_indicator(db=db, schema=real_schema)
|
||||
|
||||
parameters_item = schema.parameters
|
||||
for parameter in parameters_item:
|
||||
Crud.create_parameter(db=db, schema=parameter, _iid=index_obj.iid)
|
||||
|
||||
return {"iid": index_obj.iid}
|
||||
|
||||
|
||||
# 新建参数
|
||||
@router.post("/param/create/{iid}", summary='新建参数', tags=["指标参数"])
|
||||
def func07(iid: str, body: Schemas.EditParamReqBody, db: Session = Depends(get_db)):
|
||||
def func08(iid: str, body: Schemas.EditParamReqBody, db: Session = Depends(get_db)):
|
||||
index_obj = Crud.get_indicator_by_iid(db=db, iid=iid)
|
||||
if not index_obj:
|
||||
raise HTTPException(status_code=400, detail="Indicator Not Found")
|
||||
|
@ -104,7 +128,7 @@ def func07(iid: str, body: Schemas.EditParamReqBody, db: Session = Depends(get_d
|
|||
|
||||
|
||||
@router.post("/param/edit/{pid}", summary='编辑参数', tags=["指标参数"])
|
||||
def func08(pid: str, schema: Schemas.EditParamReqBody, db: Session = Depends(get_db)):
|
||||
def func09(pid: str, schema: Schemas.EditParamReqBody, db: Session = Depends(get_db)):
|
||||
data = Crud.get_parameter_by_pid(db=db, pid=pid)
|
||||
if not data:
|
||||
raise HTTPException(status_code=202, detail="Parameter Not Existed")
|
||||
|
@ -116,7 +140,7 @@ def func08(pid: str, schema: Schemas.EditParamReqBody, db: Session = Depends(get
|
|||
|
||||
# 删除参数
|
||||
@router.post("/param/delete/{pid}", summary='删除参数', tags=["指标参数"])
|
||||
def func09(pid: str, db: Session = Depends(get_db)):
|
||||
def func10(pid: str, db: Session = Depends(get_db)):
|
||||
data = Crud.get_parameter_by_pid(db=db, pid=pid)
|
||||
if not data:
|
||||
raise HTTPException(status_code=202, detail="Parameter Not Existed")
|
||||
|
@ -127,7 +151,7 @@ def func09(pid: str, db: Session = Depends(get_db)):
|
|||
|
||||
|
||||
@router.post("/category/create", summary="新建分类", tags=["指标分类"])
|
||||
def func10(schema: Schemas.CreateCategoryReqBody, db: Session = Depends(get_db)):
|
||||
def func11(schema: Schemas.CreateCategoryReqBody, db: Session = Depends(get_db)):
|
||||
data = Crud.get_category_by_name(db=db, title=schema.title)
|
||||
if data:
|
||||
raise HTTPException(status_code=202, detail="Category Already Existed")
|
||||
|
@ -138,7 +162,7 @@ def func10(schema: Schemas.CreateCategoryReqBody, db: Session = Depends(get_db))
|
|||
|
||||
|
||||
@router.post("/category/delete", summary="删除分类", tags=["指标分类"])
|
||||
def func10(schema: Schemas.DeleteCategoryReqBody, db: Session = Depends(get_db)):
|
||||
def func12(schema: Schemas.DeleteCategoryReqBody, db: Session = Depends(get_db)):
|
||||
data = Crud.get_category_by_id(db=db, category_id=schema.category_id)
|
||||
if not data:
|
||||
raise HTTPException(status_code=202, detail="Category Not Existed")
|
||||
|
@ -152,6 +176,6 @@ def func10(schema: Schemas.DeleteCategoryReqBody, db: Session = Depends(get_db))
|
|||
|
||||
|
||||
@router.post("/category/list", summary="分类列表", tags=["指标分类"])
|
||||
def func11(db: Session = Depends(get_db)):
|
||||
def func13(db: Session = Depends(get_db)):
|
||||
category_objs = Crud.list_category(db=db)
|
||||
return [obj.to_kv() for obj in category_objs]
|
||||
|
|
|
@ -44,6 +44,9 @@ class CreateIndicatorReqBody(BaseModel):
|
|||
category_id: str
|
||||
parameters: List[EditParamReqBody]
|
||||
|
||||
class Config:
|
||||
use_enum_values = True
|
||||
|
||||
def to_dict(self):
|
||||
_dict = self.dict().copy()
|
||||
_dict.pop("parameters")
|
||||
|
@ -81,6 +84,9 @@ class IndicatorFullResBody(BaseModel):
|
|||
category_id: str
|
||||
parameters: List[ParameterResBody] = []
|
||||
|
||||
class Config:
|
||||
use_enum_values = True
|
||||
|
||||
|
||||
class IndicatorDescribeResBody(BaseModel):
|
||||
description: str
|
||||
|
@ -92,3 +98,20 @@ class SearchIndicatorReqBody(BaseModel):
|
|||
category_id: Optional[str] = None
|
||||
page: int = 1
|
||||
pagesize: int = 20
|
||||
|
||||
|
||||
class RegisterIndicatorReqBody(BaseModel):
|
||||
ename: ENameRegex = "example_indicator"
|
||||
cname: CNameRegex = "示例指标"
|
||||
description: str = "指标介绍文字"
|
||||
nature: NatureEnum
|
||||
category: str
|
||||
parameters: List[EditParamReqBody]
|
||||
|
||||
class Config:
|
||||
use_enum_values = True
|
||||
|
||||
def to_dict(self):
|
||||
_dict = self.dict().copy()
|
||||
_dict.pop("parameters")
|
||||
return _dict
|
||||
|
|
Loading…
Reference in New Issue