package com.hotent.portal.model;

import com.baomidou.mybatisplus.annotation.*;
import com.hotent.base.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 
 *
 * @company 广州宏天软件股份有限公司
 * @author cola
 * @since 2021-08-25
 */
@ApiModel(value="外部系统管理对象", description="")
@TableName(value = "portal_biz_system")
public class PortalBizSystem extends BaseModel<PortalBizSystem> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(name="ID_", notes="主键")
    @TableId("ID_")
    private String id;

    @ApiModelProperty(value = "系统编码")
    @TableField("SYS_CODE_")
    private String sysCode;

    @ApiModelProperty(value = "系统名称")
    @TableField("SYS_NAME_")
    private String sysName;

    @ApiModelProperty(value = "是否启用，可用 0：禁用，1：启用")
    @TableField("ENABLED_")
    private String enabled;

    @ApiModelProperty(value = "系统密匙，用于鉴权")
    @TableField("SECRET_KEY_")
    private String secretKey;

    @ApiModelProperty(value = "管理员ID")
    @TableField("MANAGER_ID_")
    private String managerId;

    @ApiModelProperty(value = "管理员名称")
    @TableField("MANAGER_NAME_")
    private String managerName;

    @ApiModelProperty(value = "用于其他地方拼接地址")
    @TableField("ROOT_ADDRESS_")
    private String rootAddress;

    @ApiModelProperty(value = "系统首页地址")
    @TableField("HOME_ADDRESS_")
    private String homeAddress;

    @ApiModelProperty(value = "流程消息队列")
    @TableField("BPM_MSG_QUEUE_")
    private String bpmMsgQueue;

    @ApiModelProperty(value = "系统描述")
    @TableField("DESCRIPTION_")
    private String description;

    @ApiModelProperty(value = "机器人ID")
    @TableField("ROBOT_ID_")
    private String robotId;

    @TableField(value = "CREATE_TIME_",fill = FieldFill.INSERT)
    private LocalDateTime createTime;

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

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

    @ApiModelProperty(value = "是否删除，0未删，1已删")
    @TableField("IS_DELE_")
    private String isDele;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "UPDATE_TIME_",fill= FieldFill.UPDATE)
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "更新人")
    @TableField("UPDATE_BY_")
    private String updateBy;

    @ApiModelProperty(value = "机器人姓名（授权账号）")
    @TableField("ROBOT_NAME_")
    private String robotName;

    @TableField(exist = false)
    private String account; // 该字段用于前端，授权时所需的用户账号

    @TableField(exist = false)
    private List<PortalBizSystemAuth> managerList;

    @TableField(exist = false)
    private String creatorName;

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public String getRobotName() {
        return robotName;
    }

    public void setRobotName(String robotName) {
        this.robotName = robotName;
    }

    public List<PortalBizSystemAuth> getManagerList() {
        return managerList;
    }

    public void setManagerList(List<PortalBizSystemAuth> managerList) {
        this.managerList = managerList;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getId() {
        return id;
    }

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

    public void setSysCode(String sysCode) {
        this.sysCode = sysCode;
    }
    public String getSysName() {
        return sysName;
    }

    public void setSysName(String sysName) {
        this.sysName = sysName;
    }
    public String getEnabled() {
        return enabled;
    }

    public void setEnabled(String enabled) {
        this.enabled = enabled;
    }
    public String getSecretKey() {
        return secretKey;
    }

    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }
    public String getManagerId() {
        return managerId;
    }

    public void setManagerId(String managerId) {
        this.managerId = managerId;
    }
    public String getManagerName() {
        return managerName;
    }

    public void setManagerName(String managerName) {
        this.managerName = managerName;
    }
    public String getRootAddress() {
        return rootAddress;
    }

    public void setRootAddress(String rootAddress) {
        this.rootAddress = rootAddress;
    }
    public String getHomeAddress() {
        return homeAddress;
    }

    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }
    public String getBpmMsgQueue() {
        return bpmMsgQueue;
    }

    public void setBpmMsgQueue(String bpmMsgQueue) {
        this.bpmMsgQueue = bpmMsgQueue;
    }
    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
    public String getRobotId() {
        return robotId;
    }

    public void setRobotId(String robotId) {
        this.robotId = robotId;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    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 String getIsDele() {
        return isDele;
    }

    public void setIsDele(String isDele) {
        this.isDele = isDele;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateBy() {
        return updateBy;
    }

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

    @Override
    protected Serializable pkVal() {
        return null;
    }

    @Override
    public String toString() {
        return "PortalBizSystem{" +
                "id='" + id + '\'' +
                ", sysCode='" + sysCode + '\'' +
                ", sysName='" + sysName + '\'' +
                ", enabled='" + enabled + '\'' +
                ", secretKey='" + secretKey + '\'' +
                ", managerId='" + managerId + '\'' +
                ", managerName='" + managerName + '\'' +
                ", rootAddress='" + rootAddress + '\'' +
                ", homeAddress='" + homeAddress + '\'' +
                ", bpmMsgQueue='" + bpmMsgQueue + '\'' +
                ", description='" + description + '\'' +
                ", robotId='" + robotId + '\'' +
                ", createTime=" + createTime +
                ", createBy='" + createBy + '\'' +
                ", createOrgId='" + createOrgId + '\'' +
                ", isDele='" + isDele + '\'' +
                ", updateTime=" + updateTime +
                ", updateBy='" + updateBy + '\'' +
                ", robotName='" + robotName + '\'' +
                ", account='" + account + '\'' +
                ", managerList=" + managerList +
                ", creatorName=" + creatorName +
                '}';
    }
}
