""" 所有者权益(亿元) """ from fastapi import APIRouter, HTTPException from pydantic import BaseModel from Common.schemas import IndicatorDescription router = APIRouter() # 指标描述 ENAME = "owner_equity" CNAME = "所有者权益" NATURE = "定量" CATEGORY = "资本结构" DESCRIPTION = "所有者权益是反应城投企业资本实力的重要指标,该指标数值高,则对城投企业信用状况具有正面影响。在必要情况下,远东资信可能会剔除" \ "所有者权益中公益性资产部分、永续债和明股实债等,以避免存在所有者权益虚增或失真的情况。" # 参数描述 PARAM1_ENAME = "owner_equity" PARAM1_CNAME = "所有者权益合计" PARAM1_DESCR = "所有者权益合计是指企业投资人对企业净资产的所有权。企业净资产等于企业全部资产减去全部负债后的余额,其中包括企业投资人对企业" \ "的最初投入以及资本公积金、盈余公积金和未分配利润。对股份制企业,所有者权益即为股东权益。" # 输入参数 class Parameter(BaseModel): owner_equity: float = "所有者权益合计" # 计算接口 @router.post("/{}/".format(ENAME), tags=[CATEGORY], summary=CNAME, description=DESCRIPTION) def calculation(parameter: Parameter): try: result = parameter.owner_equity / 100000000 return round(result, 6) except Exception: raise HTTPException(status_code=400, detail="Calculate Failed") # 描述接口 @router.get("/{}/description".format(ENAME), response_model=IndicatorDescription, tags=[CATEGORY], summary=CNAME, description=DESCRIPTION) def description(): body = { "ename": ENAME, "cname": CNAME, "nature": NATURE, "category": CATEGORY, "description": DESCRIPTION, "parameters": [ {"ename": PARAM1_ENAME, "cname": PARAM1_CNAME, "description": PARAM1_DESCR} ], } return body