from fastapi import APIRouter from pydantic import BaseModel INDEX = "综合成本率(%)" router = APIRouter() class Params(BaseModel): 分保费用: float 营业税金及附加: float 手续费及佣金支出: float 业务及管理费: float 摊回分保费用: float 已赚保费: float 赔付支出: float 摊回赔付支出: float 提取保险责任准备金: float 摊回保险责任准备金: float @router.post("/{}".format(INDEX)) def func(p: Params): try: d = (p.分保费用 + p.营业税金及附加 + p.手续费及佣金支出 + p.业务及管理费 - p.摊回分保费用) / p.已赚保费 * 100 f = (p.赔付支出 - p.摊回赔付支出 + p.提取保险责任准备金 - p.摊回保险责任准备金) / p.已赚保费 * 100 result = d + f return round(result, 2) except ZeroDivisionError: return "算式无意义" except Exception: return "计算错误"