schema.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from datetime import datetime
  2. from pydantic import BaseModel, ConfigDict, Field
  3. class InstitutionCreateSchema(BaseModel):
  4. """创建费控制度请求模型"""
  5. enterprise_id: str = Field(..., description="企业ID")
  6. institution_id: str | None = Field(default=None, description="费控规则ID")
  7. institution_name: str | None = Field(default=None, description="制度名称")
  8. institution_desc: str | None = Field(default=None, description="制度描述")
  9. scene_type: str | None = Field(default=None, description="因公场景")
  10. expense_type: str | None = Field(default=None, description="费用类型")
  11. expense_sub_type: str | None = Field(default=None, description="费用类型子类")
  12. status: str | None = Field(default=None, description="状态")
  13. effective: str | None = Field(default=None, description="是否启用: 0(停用)/1(启用)")
  14. effective_start_date: datetime | None = Field(default=None, description="制度生效起始时间")
  15. effective_end_date: datetime | None = Field(default=None, description="制度生效结束时间")
  16. consult_mode: str | None = Field(default=None, description="费控咨询模式")
  17. multi_employee_share_mode: str | None = Field(default=None, description="多员工分享模式")
  18. currency: str | None = Field(default=None, description="货币类型")
  19. class InstitutionUpdateSchema(InstitutionCreateSchema):
  20. """更新费控制度请求模型"""
  21. pass
  22. class InstitutionListOutSchema(InstitutionCreateSchema):
  23. """费控制度列表输出模型"""
  24. model_config = ConfigDict(from_attributes=True)
  25. tenant_id: str = Field(description="租户ID")
  26. created_time: datetime | None = Field(default=None, description="创建时间")
  27. updated_time: datetime | None = Field(default=None, description="修改时间")