package net.northking.cctp.project.dto.env;

import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Map;

/**
 * <p>Title: CpProjectEnvDsModuleExecDto</p>
 * <p>Description: </p>
 *
 * @Author chenjianfeng
 * @Version V1.0
 * @Date 2023/09/15
 * <p>Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.</p>
 */

public class CpProjectEnvDsModuleExecDto implements Serializable {

    /**
     * 租户id
     */
    @ApiModelProperty("租户id")
    private String tenantId;

    /**
     * 系统id
     */
    @NotBlank(message = "系统编号不能为空")
    @ApiModelProperty("系统id")
    private String projectId;

    /**
     * 环境id
     */
    @ApiModelProperty("环境id")
    @NotBlank(message = "环境编号不能为空")
    private String envId;

    /**
     * 来源类型 1-静态数据源，2-动态数据源
     */
    @ApiModelProperty("来源类型 1-静态数据源，2-动态数据源")
    @NotBlank(message = "来源类型不能为空")
    private String sourceType;

    /**
     * 数据源名称<br>
     */
    @NotBlank(message = "数据源名称不能为空")
    @ApiModelProperty("数据源名称")
    private String name;

    /**
     * 执行的sql
     */
    @ApiModelProperty("执行的sql")
    private String sqlContent;

    /**
     * 数据源类型：0-MongoDB，1-mysql，2-Oracle，3-达梦，4-OceanBase，5-db2<br>
     */
    @ApiModelProperty("数据源类型：0-MongoDB，1-mysql，2-Oracle，3-达梦，4-OceanBase，5-db2")
    private Integer type;

    /**
     * 主机ip<br>
     */
    @ApiModelProperty("主机ip")
    private String host;

    /**
     * 端口<br>
     */
    @ApiModelProperty("端口")
    private Integer port;

    /**
     * 数据库名称<br>
     */
    @ApiModelProperty("数据库名称")
    private String dbName;

    /**
     * 数据库登入名<br>
     */
    @ApiModelProperty("数据库登入名")
    private String username;

    /**
     * 数据库登入密码<br>
     */
    @ApiModelProperty("数据库登入密码")
    private String password;

    /**
     * 高级属性
     */
    @ApiModelProperty("高级属性")
    private Map<String, Object> advancedConfigMap;

    public String getTenantId() {
        return tenantId;
    }

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

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getEnvId() {
        return envId;
    }

    public void setEnvId(String envId) {
        this.envId = envId;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSqlContent() {
        return sqlContent;
    }

    public void setSqlContent(String sqlContent) {
        this.sqlContent = sqlContent;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public String getDbName() {
        return dbName;
    }

    public void setDbName(String dbName) {
        this.dbName = dbName;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Map<String, Object> getAdvancedConfigMap() {
        return advancedConfigMap;
    }

    public void setAdvancedConfigMap(Map<String, Object> advancedConfigMap) {
        this.advancedConfigMap = advancedConfigMap;
    }
}
