| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- from datetime import datetime
- from typing import Optional
- from pydantic import BaseModel, ConfigDict, Field
- class EmployeeCreateOrUpdateSchema(BaseModel):
- """
- 创建员工请求
- 必填字段:
- - enterprise_id: 企业ID
- - name: 员工姓名
- - employee_no: 员工工号
- - identity_type: 身份类型
- - identity: 身份标识
- """
- enterprise_id: str = Field(description="企业ID")
- employee_id: Optional[str] = Field(default=None, description="员工ID")
- employee_name: Optional[str] = Field(default=None, max_length=128, description="员工姓名")
- employee_no: Optional[str] = Field(default=None, max_length=64, description="员工工号")
- identity_type: Optional[str] = Field(default=None, description="身份类型: ALIPAY_USER_ID/ALIPAY_LOGON_ID/ENTERPRISE_USER_ID")
- identity: Optional[str] = Field(default=None, description="身份标识")
- identity_open_id: Optional[str] = Field(default=None, description="员工openId")
- employee_mobile: Optional[str] = Field(default=None, max_length=32, description="员工手机号")
- employee_email: Optional[str] = Field(default=None, max_length=128, description="员工邮箱")
- employee_cert_type: Optional[str] = Field(default=None, description="证件类型: IDENTITY_CARD/PASSPORT/DRIVER_LICENSE")
- employee_cert_no: Optional[str] = Field(default=None, max_length=64, description="证件号码")
- iot_check_type: Optional[str] = Field(default=None, description="IoT核身方式")
- department_ids: Optional[list[str]] = Field(default=None, description="部门ID列表")
- accounting_entity_ids: Optional[list[str]] = Field(default=None, description="核算主体ID列表")
- label_names: Optional[list[str]] = Field(default=None, description="标签名称列表")
- sign_return_url: Optional[str] = Field(default=None, description="签约跳转URL")
- create_share_code: Optional[bool] = Field(default=False, description="是否创建分享码")
- sign_url_carry_info: Optional[bool] = Field(default=False, description="签约链接是否携带信息")
- profiles: Optional[dict] = Field(default=None, description="扩展参数")
- status: Optional[str] = Field(default=None, description="状态")
- department_list: Optional[list] = Field(default=None, description="部门列表")
- role_list: Optional[list] = Field(default=None, description="角色列表")
- class EmployeeOutSchema(BaseModel):
- """员工响应模型"""
- model_config = ConfigDict(from_attributes=True)
- # id: int = Field(description="主键ID")
- employee_id: Optional[str] = Field(default=None, description="员工ID(业务主键)")
- enterprise_id: Optional[str] = Field(default=None, description="企业ID")
- account_id: Optional[str] = Field(default=None, description="企业账户ID")
- user_id: Optional[int] = Field(default=None, description="关联系统用户ID")
- user_name: Optional[str] = Field(default=None, description="用户姓名")
- avatar: Optional[str] = Field(default=None, description="用户头像")
- employee_name: Optional[str] = Field(default=None, description="员工姓名")
- employee_no: Optional[str] = Field(default=None, description="员工工号")
- identity_type: Optional[str] = Field(default=None, description="身份类型")
- identity: Optional[str] = Field(default=None, description="身份标识")
- identity_open_id: Optional[str] = Field(default=None, description="员工openId")
- employee_mobile: Optional[str] = Field(default=None, description="员工手机号")
- employee_email: Optional[str] = Field(default=None, description="员工邮箱")
- employee_cert_type: Optional[str] = Field(default=None, description="证件类型")
- employee_cert_no: Optional[str] = Field(default=None, description="证件号码")
- status: str = Field(description="状态")
- iot_check_type: Optional[str] = Field(default=None, description="IoT核身方式")
- department_ids: Optional[list] = Field(default=None, description="部门ID列表")
- accounting_entity_ids: Optional[list] = Field(default=None, description="核算主体ID列表")
- label_names: Optional[list] = Field(default=None, description="标签名称列表")
- sign_return_url: Optional[str] = Field(default=None, description="签约跳转URL")
- create_share_code: Optional[bool] = Field(default=None, description="是否创建分享码")
- sign_url_carry_info: Optional[bool] = Field(default=None, description="签约链接是否携带信息")
- sign_url: Optional[str] = Field(default=None, description="邀请链接")
- share_code: Optional[str] = Field(default=None, description="分享码")
- profiles: Optional[dict] = Field(default=None, description="扩展参数")
- withholding_sign_str: Optional[str] = Field(default=None, description="代扣签约串")
- free_sign_token: Optional[str] = Field(default=None, description="免登签约token")
- created_time: Optional[datetime] = Field(default=None, description="创建时间")
- updated_time: Optional[datetime] = Field(default=None, description="更新时间")
- class EmployeeListOutSchema(BaseModel):
- """员工列表响应"""
- model_config = ConfigDict(from_attributes=True)
- id: int = Field(description="主键ID")
- employee_id: Optional[str] = Field(default=None, description="员工ID")
- enterprise_id: Optional[str] = Field(default=None, description="企业ID")
- employee_name: Optional[str] = Field(default=None, description="员工姓名")
- employee_no: Optional[str] = Field(default=None, description="员工工号")
- status: str = Field(description="状态")
- employee_mobile: Optional[str] = Field(default=None, description="员工手机号")
- user_id: Optional[int] = Field(default=None, description="关联的系统用户ID")
- identity_open_id: Optional[str] = Field(default=None, description="员工openId(企业码身份)")
- department_ids: Optional[list[str]] = Field(default=None, description="部门ID列表")
- department_name: Optional[str] = Field(default=None, description="部门名称")
- created_time: Optional[datetime] = Field(default=None, description="创建时间")
- class EmployeeOperationOutSchema(BaseModel):
- """员工操作响应"""
- model_config = ConfigDict(from_attributes=True)
- employee_id: Optional[str] = Field(default=None, description="员工ID(业务主键)")
- sign_url: Optional[str] = Field(default=None, description="签约链接")
- share_code: Optional[str] = Field(default=None, description="分享码")
- iot_unique_id: Optional[str] = Field(default=None, description="IoT唯一ID")
- class EmployeeInviteQuerySchema(BaseModel):
- """获取员工签约激活链接请求"""
- enterprise_id: str = Field(description="企业ID")
- employee_id: Optional[str] = Field(default=None, description="员工ID")
- page_content_code: Optional[str] = Field(default=None, description="页面内容code")
- withholding_sign_str: Optional[str] = Field(default=None, description="代扣签约串")
- create_share_code: Optional[str] = Field(default="N", description="是否生成签约吱口令: Y/N")
- class EmployeeInviteQueryOutSchema(BaseModel):
- """获取员工签约激活链接响应"""
- enterprise_id: str = Field(description="企业ID")
- sign_url: str = Field(description="邀请链接")
- mini_app_sign_url: str = Field(description="支付宝其它小程序跳入企业码小程序签约链接")
- share_code: Optional[str] = Field(default=None, description="签约吱口令")
|