| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- from datetime import datetime
- from typing import Optional
- from pydantic import BaseModel, ConfigDict, Field
- class StandardConditionInfoSchema(BaseModel):
- """使用规则因子"""
- rule_factor: str = Field(description="条件类型")
- rule_value: str = Field(description="条件值")
- rule_operator: Optional[str] = Field(
- default=None, description="操作符: LT(<)/LE(<=)/EQ(=)/NE(!=)/GE(>=)/GT(>)"
- )
- rule_name: Optional[str] = Field(default=None, description="条件名称")
- class AssetShareSourceInfoSchema(BaseModel):
- """资产共享源信息"""
- share_mode: str = Field(description="共享模式")
- source_id_list: list[str] = Field(description="源ID列表")
- class ExpenseRuleCreateSchema(BaseModel):
- """创建费控使用规则请求 (alipay.ebpp.invoice.institution.expenserule.create)"""
- institution_id: str = Field(description="制度ID (必填)")
- standard_name: str = Field(max_length=20, description="费控规则名称 (必填)")
- standard_desc: Optional[str] = Field(default=None, description="规则描述")
- expense_type_sub_category: str = Field(
- description="费用类型子类 (必填): TAKE_AWAY(外卖)/REACH_SHOP(到店)/METRO(地铁)"
- )
- standard_condition_info_list: list[StandardConditionInfoSchema] = Field(
- description="使用规则因子列表 (必填)"
- )
- enterprise_id: Optional[str] = Field(default=None, description="企业码ID")
- account_id: Optional[str] = Field(default=None, description="企业共同账户ID (已废弃)")
- agreement_no: Optional[str] = Field(default=None, description="授权签约协议号 (已废弃)")
- outer_source_id: Optional[str] = Field(default=None, description="外部唯一标识(幂等)")
- open_rule_id: Optional[str] = Field(default=None, description="开票规则ID")
- payment_policy: Optional[str] = Field(
- default=None, description="支付策略: PERSONAL(全部个人账户)/COMBINATION(组合支付)"
- )
- consume_mode: Optional[str] = Field(
- default=None, description="消费模式: COUPON_ONLY/COUPON_AND_CAP/DEFAULT"
- )
- expense_cert_type: Optional[str] = Field(default=None, description="费用凭证类型")
- personal_qrcode_mode: Optional[int] = Field(default=None, description="个人二维码模式")
- asset_share_source_info: Optional[AssetShareSourceInfoSchema] = Field(default=None, description="资产共享源信息")
|