AutoDiagModel.py 805 B

12345678910111213141516171819202122232425262728293031323334
  1. # 请求模型定义
  2. from typing import List
  3. from pydantic import BaseModel, model_validator
  4. class AutoDiagInput(BaseModel):
  5. # 数据索引id
  6. ids: List[int]
  7. # 风场编号
  8. windCode: str
  9. # 风机编号
  10. engine_code: str
  11. # 诊断类型
  12. autodiagType: str
  13. @model_validator(mode='before')
  14. def convert_ids(cls, values):
  15. """将单个id转换为列表形式"""
  16. if isinstance(values.get('ids'), int):
  17. values['ids'] = [values['ids']]
  18. return values
  19. class DiagnosisResult(BaseModel):
  20. # 每个id对应的状态码列表
  21. status_codes: List[int]
  22. # 所有状态码中的最大值
  23. max_status: int
  24. # 状态码0的个数
  25. count_0: int
  26. # 状态码1的个数
  27. count_1: int
  28. # 状态码2的个数
  29. count_2: int