from pydantic import BaseModel from typing import Union, Optional, List from module_admin.annotation.pydantic_annotation import as_query from pydantic import BaseModel, ConfigDict, Field, model_validator from pydantic.alias_generators import to_camel class ApplyModel(BaseModel): businessType: Optional[str] = None businessId: Optional[str] = None applicant: Optional[str] = None class OperateModel(BaseModel): flowId: Optional[str] = None # 流程编号 operateType: Optional[str] = None # 操作:驳回,同意:reject, success operateComment: Optional[str] = None # 审批意见 @as_query class ApprovalQueryObject(BaseModel): model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) page_num: int page_size: int applicant: Optional[str] = None businessType: Optional[str] = None status: Optional[str] = None class EditObjectModel(BaseModel): id: Optional[str] = None status: Optional[str] = None currentNodeId: Optional[str] = None nextStep: Optional[int] = None nextStepRole: Optional[str] = None nextStepUser: Optional[str] = None approvalFlow: Optional[str] = None class FlowConfModel(BaseModel): id: Optional[str] code: Optional[str] text: Optional[str] type: Optional[str] module: Optional[str] step: Optional[int] x: Optional[int] y: Optional[int] parent: Optional[str] class SaveConfModel(BaseModel): module: Optional[str] confList: Optional[List[Union[FlowConfModel, None]]]