| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from datetime import datetime
- from pydantic import BaseModel, ConfigDict, Field
- class InstitutionCreateSchema(BaseModel):
- """创建费控制度请求模型"""
- enterprise_id: str = Field(..., description="企业ID")
- institution_id: str | None = Field(default=None, description="费控规则ID")
- institution_name: str | None = Field(default=None, description="制度名称")
- institution_desc: str | None = Field(default=None, description="制度描述")
- scene_type: str | None = Field(default=None, description="因公场景")
- expense_type: str | None = Field(default=None, description="费用类型")
- expense_sub_type: str | None = Field(default=None, description="费用类型子类")
- status: str | None = Field(default=None, description="状态")
- effective: str | None = Field(default=None, description="是否启用: 0(停用)/1(启用)")
- effective_start_date: datetime | None = Field(default=None, description="制度生效起始时间")
- effective_end_date: datetime | None = Field(default=None, description="制度生效结束时间")
- consult_mode: str | None = Field(default=None, description="费控咨询模式")
- multi_employee_share_mode: str | None = Field(default=None, description="多员工分享模式")
- currency: str | None = Field(default=None, description="货币类型")
- grant_mode: str | None = Field(default=None, description="发放模式: manual(手动)/period(周期)")
- period_type: str | None = Field(default=None, description="周期类型")
- amount: float | None = Field(default=None, description="发放金额")
- single_limit: float | None = Field(default=None, description="单次消费限额")
- effective_time_type: str | None = Field(default=None, description="有效时间类型")
- applicable_scope: str | None = Field(default=None, description="适用范围")
- class InstitutionUpdateSchema(InstitutionCreateSchema):
- """更新费控制度请求模型"""
- pass
- class InstitutionListOutSchema(InstitutionCreateSchema):
- """费控制度列表输出模型"""
- model_config = ConfigDict(from_attributes=True)
- tenant_id: int = Field(description="租户ID")
- created_time: datetime | None = Field(default=None, description="创建时间")
- updated_time: datetime | None = Field(default=None, description="修改时间")
|