package com.hotent.orgext.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hotent.base.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;

/**
 * 分级组织和角色/菜单/应用授权表
 * @author: 梁宏锦
 * @date: 2024/07/13
 **/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@TableName("UC_ORG_AUTH_EXT")
@ApiModel(value="分级组织和角色/菜单/应用授权表", description="分级组织和角色/菜单/应用授权表")
public class OrgAuthExt extends BaseModel<OrgAuthExt> {
    private static final long serialVersionUID = 1L;

    //类型，0菜单，1角色 2pc应用 3移动应用 4工作流
    public final static String AUTH_TYPE_MENU = "0";  //0菜单
    public final static String AUTH_TYPE_ROLE = "1";  //1角色
    public final static String AUTH_TYPE_PC_APP = "2";  //2pc应用
    public final static String AUTH_TYPE_MOBILE_APP = "3";  //3移动应用
    public final static String AUTH_TYPE_FLOW = "4";  //4工作流

    @ApiModelProperty(value = "主键")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    @JsonProperty("id")
    private String id;

    @ApiModelProperty(value = "对应管理组织id")
    @TableField("ORG_ID_")
    @JsonProperty("orgId")
    private String orgId;

    @ApiModelProperty(value = "对应菜单别名")
    @TableField("MENU_ALIAS_")
    @JsonProperty("menuAlias")
    private String menuAlias;

    @ApiModelProperty(value = "对应角色id")
    @TableField("ROLE_ID_")
    @JsonProperty("roleId")
    private String roleId;

    @ApiModelProperty(value = "对应PC应用id")
    @TableField("PC_APP_ID_")
    @JsonProperty("pcAppId")
    private String pcAppId;

    @ApiModelProperty(value = "对应MOBILE应用id")
    @TableField("MOBILE_APP_ID_")
    @JsonProperty("mobileAppId")
    private String mobileAppId;

    @ApiModelProperty(value = "类型，0菜单，1角色 2pc应用 3移动应用 4工作流")
    @TableField("AUTH_TYPE_")
    @JsonProperty("authType")
    private String authType;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATE_BY_")
    @JsonProperty("createBy")
    private String createBy;

    @ApiModelProperty(value = "创建人所属组织")
    @TableField("CREATE_ORG_ID_")
    @JsonProperty("createOrgId")
    private String createOrgId;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME_")
    @JsonProperty("createTime")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改人")
    @TableField("UPDATE_BY_")
    @JsonProperty("updateBy")
    private String updateBy;

    @ApiModelProperty(value = "修改时间")
    @TableField("UPDATE_TIME_")
    @JsonProperty("updateTime")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "租户Id")
    @TableField("TENANT_ID_")
    @JsonProperty("tenantId")
    private String tenantId;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getMenuAlias() {
        return menuAlias;
    }

    public void setMenuAlias(String menuAlias) {
        this.menuAlias = menuAlias;
    }

    public String getRoleId() {
        return roleId;
    }

    public void setRoleId(String roleId) {
        this.roleId = roleId;
    }

    public String getPcAppId() {
        return pcAppId;
    }

    public void setPcAppId(String pcAppId) {
        this.pcAppId = pcAppId;
    }

    public String getAuthType() {
        return authType;
    }

    public void setAuthType(String authType) {
        this.authType = authType;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getCreateOrgId() {
        return createOrgId;
    }

    public void setCreateOrgId(String createOrgId) {
        this.createOrgId = createOrgId;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getMobileAppId() {
        return mobileAppId;
    }

    public void setMobileAppId(String mobileAppId) {
        this.mobileAppId = mobileAppId;
    }

}
