package cn.axzo.workflow.admin.repository.entity;

import cn.axzo.framework.data.mybatisplus.model.BaseEntity;
import cn.axzo.workflow.common.enums.AdminDataSource;
import cn.axzo.workflow.common.enums.AdminRoleType;
import cn.axzo.workflow.common.enums.AdminTypeEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

@EqualsAndHashCode(callSuper = true)
@TableName(value = "ext_ax_process_admin", autoResultMap = true)
@Data
@ToString(callSuper = true)
public class ExtAxProcessAdmin extends BaseEntity<ExtAxProcessAdmin> {

    private static final long serialVersionUID = 7342715107163876733L;

    /**
     * 自然人id
     */
    private Long personId;

    /**
     * 单位id
     */
    private Long organizationalUnitId;

    /**
     * 工作台ID
     */
    private Long workspaceId;

    /**
     * 工作台类型，1-企业, 2-项目, 3-政务监管平台, 6-oms工作台,参考 WorkspaceType枚举
     */
    private Integer workspaceType;

    /**
     * 管理员类型, SUPER_ADMIN-超级管理员, COMMON_ADMIN-普通管理员
     */
    private AdminTypeEnum adminType;

    /**
     * 角色类型, ORGANIZATION_ADMIN-单位超管, ORG_WORKSPACE_ADMIN-项目内单位负责人, WORKSPACE_ADMIN-项目超管，OTHER-其他用户
     */
    private AdminRoleType roleType;

    /**
     * 数据来源, SYSTEM_ENTRY-系统录入, USER_ENTRY-用户手动录入
     */
    private AdminDataSource dataSource;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 更新者
     */
    private Long updateBy;
}
