alphah il y a 2 semaines
Parent
commit
c6689b27ca
1 fichiers modifiés avec 89 ajouts et 0 suppressions
  1. 89 0
      backend/app/plugin/module_payment/expense/rule/schema.py

+ 89 - 0
backend/app/plugin/module_payment/expense/rule/schema.py

@@ -48,3 +48,92 @@ class ExpenseRuleCreateSchema(BaseModel):
     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="资产共享源信息")
+
+
+class ExpenseRuleDeleteSchema(BaseModel):
+    """删除费控使用规则请求"""
+
+    institution_id: str = Field(description="制度ID")
+    standard_id_list: list[str] = Field(description="使用规则ID列表")
+    enterprise_id: str = Field(description="企业ID")
+
+
+class ExpenseRuleModifySchema(BaseModel):
+    """编辑费控使用规则请求"""
+
+    institution_id: str = Field(description="制度ID")
+    standard_id: str = Field(description="使用规则ID")
+    action: str = Field(description="操作类型")
+    standard_name: Optional[str] = Field(default=None, description="规则名称")
+    standard_desc: Optional[str] = Field(default=None, description="规则描述")
+    expense_type_sub_category: Optional[str] = Field(default=None, description="费用类型子类")
+    standard_condition_info_list: Optional[list[StandardConditionInfoSchema]] = Field(
+        default=None, description="使用规则因子列表"
+    )
+    enterprise_id: Optional[str] = Field(default=None, description="企业ID")
+    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="支付策略")
+    consume_mode: Optional[str] = Field(default=None, description="消费模式")
+    expense_cert_type: Optional[str] = Field(default=None, description="凭证类型")
+
+
+class RuleCreateSchema(BaseModel):
+    """创建使用规则请求"""
+
+    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="费用类型子类")
+    enterprise_id: Optional[str] = Field(default=None, description="企业ID")
+
+
+class RuleOperationOutSchema(BaseModel):
+    """使用规则操作响应"""
+
+    out_biz_no: str = Field(description="外部业务编号")
+    rule_id: Optional[str] = Field(default=None, description="规则ID")
+    result: Optional[str] = Field(default=None, description="操作结果")
+
+
+class RuleListOutSchema(BaseModel):
+    """使用规则列表响应"""
+
+    model_config = ConfigDict(from_attributes=True)
+
+    id: int = Field(description="主键ID")
+    out_biz_no: str = Field(description="外部业务编号")
+    institution_id: str = Field(description="制度ID")
+    rule_id: Optional[str] = Field(default=None, description="规则ID")
+    standard_name: Optional[str] = Field(default=None, description="规则名称")
+    expense_type_sub_category: Optional[str] = Field(default=None, description="费用类型子类")
+    status: Optional[str] = Field(default=None, description="状态")
+    enterprise_id: Optional[str] = Field(default=None, description="企业ID")
+    created_time: Optional[datetime] = Field(default=None, description="创建时间")
+    updated_time: Optional[datetime] = Field(default=None, description="更新时间")
+
+
+class RuleOutSchema(BaseModel):
+    """使用规则详情响应"""
+
+    model_config = ConfigDict(from_attributes=True)
+
+    out_biz_no: str = Field(description="外部业务编号")
+    institution_id: str = Field(description="制度ID")
+    rule_id: Optional[str] = Field(default=None, description="规则ID")
+    standard_name: Optional[str] = Field(default=None, description="规则名称")
+    standard_desc: Optional[str] = Field(default=None, description="规则描述")
+    expense_type_sub_category: Optional[str] = Field(default=None, description="费用类型子类")
+    enterprise_id: Optional[str] = Field(default=None, description="企业ID")
+    status: Optional[str] = Field(default=None, description="状态")
+
+
+class RuleUpdateSchema(BaseModel):
+    """更新使用规则请求"""
+
+    institution_id: Optional[str] = Field(default=None, description="制度ID")
+    standard_name: Optional[str] = Field(default=None, description="规则名称")
+    standard_desc: Optional[str] = Field(default=None, description="规则描述")
+    expense_type_sub_category: Optional[str] = Field(default=None, description="费用类型子类")
+    status: Optional[str] = Field(default=None, description="状态")
+    enterprise_id: Optional[str] = Field(default=None, description="企业ID")