package com.ruoyi.interfaces.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模型信息对象 md_model_info
 *
 * @author 朱得糠
 * @date 2025-07-31
 */
public class MdModelInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 模型标识
     */
    private String mdid;

    /**
     * 模型名称
     */
    @Excel(name = "模型名称")
    private String name;

    /**
     * 模型英文名称
     */
    @Excel(name = "模型英文名称")
    private String enname;

    /**
     * 目录标识
     */
    @Excel(name = "目录标识")
    private String cateid;

    /**
     * 开发语言
     */
    @Excel(name = "开发语言")
    private String devlang;

    /**
     * 模型版本号
     */
    @Excel(name = "模型版本号")
    private String version;

    /**
     * 模型介绍，简介
     */
    @Excel(name = "模型介绍，简介")
    private String intro;

    /**
     * 模型分类
     */
    @Excel(name = "模型分类")
    private String type;

    /**
     * 模型标签
     */
    @Excel(name = "模型标签")
    private String tags;

    /**
     * 模型类别
     */
    private String kind;
    /**
     * 模型用途
     */
    private String purpose;
    /**
     * 可否率定
     */
    private Integer israte;
    /**
     * 权值
     */
    private Double weight;
    /**
     * 区分系统内的模型，还是第三方的模型
     */
    private String devkind;


    /**
     * 开发者用户编号
     */
    @Excel(name = "开发者用户编号")
    private String author;

    /**
     * 是否发布
     */
    @Excel(name = "是否发布")
    private Integer ispublic;

    /**
     * 是否审核
     */
    @Excel(name = "是否审核")
    private Integer isapproved;

    /**
     * 模型状态
     */
    @Excel(name = "模型状态")
    private Integer status;

    /**
     * 模型类名
     */
    @Excel(name = "模型类名")
    private String classname;

    /**
     * 模型运行命令
     */
    @Excel(name = "模型运行命令")
    private String mdRunCmd;

    /**
     * 模型URL地址
     */
    @Excel(name = "模型URL地址")
    private String mdUrl;

    /**
     * 模型验证类型
     */
    @Excel(name = "模型验证类型")
    private String mdAuth;

    /**
     * 模型Header项
     */
    @Excel(name = "模型Header项")
    private String mdHeader;

    /**
     * 模型TOKEN Sercet
     */
    @Excel(name = "模型TOKEN Sercet")
    private String mdSecret;

    /**
     * 模型提供单位
     */
    @Excel(name = "模型提供单位")
    private String mdUnit;

    /**
     * 模型单位联系方式
     */
    @Excel(name = "模型单位联系方式")
    private String mdContact;

    /**
     * 开发单位,技术支撑单位
     */
    @Excel(name = "开发单位,技术支撑单位")
    private String devUnit;

    /**
     * 开发单位联系方式
     */
    @Excel(name = "开发单位联系方式")
    private String devContact;

    /**
     * 是否使用WebHook
     */
    @Excel(name = "是否使用WebHook")
    private Integer whFlag;

    /**
     * 模型消息WebHook URL地址
     */
    @Excel(name = "模型消息WebHook URL地址")
    private String whUrl;

    /**
     * WebHook请求方法
     */
    @Excel(name = "WebHook请求方法")
    private String whMethod;

    /**
     * WebHook验证类型
     */
    @Excel(name = "WebHook验证类型")
    private String whAuth;

    /**
     * WebHook Header项
     */
    @Excel(name = "WebHook Header项")
    private String whHeader;

    /**
     * WebHook TOKEN Sercet
     */
    @Excel(name = "WebHook TOKEN Sercet")
    private String whSecret;

    /**
     * 模型运行服务器操作系统
     */
    @Excel(name = "模型运行服务器操作系统")
    private String envOs;

    /**
     * 模型运行服务器架构
     */
    @Excel(name = "模型运行服务器架构")
    private String evnArmX86;

    /**
     * 模型CPU核心数
     */
    @Excel(name = "模型CPU核心数")
    private Integer envCpu;

    /**
     * GPU类型
     */
    @Excel(name = "GPU类型")
    private String envGpuType;

    /**
     * GPU数量
     */
    @Excel(name = "GPU数量")
    private Integer envGpuNum;

    /**
     * GPU显存大小
     */
    @Excel(name = "GPU显存大小")
    private Integer envGpuMem;

    /**
     * 所需存储空间大小
     */
    @Excel(name = "所需存储空间大小")
    private Integer envDisk;

    /**
     * 所需内存大小
     */
    @Excel(name = "所需内存大小")
    private Integer envMem;

    /**
     * 部署服务器IP
     */
    @Excel(name = "部署服务器IP")
    private String deployIp;

    /**
     * 部署目录
     */
    @Excel(name = "部署目录")
    private String deployDir;

    /**
     * 部署端口
     */
    @Excel(name = "部署端口")
    private String deployPort;

    /**
     * 部署说明
     */
    @Excel(name = "部署说明")
    private String deployNote;

    /**
     * 模型输入文件名称
     */
    @Excel(name = "模型输入文件名称")
    private String mdInName;

    /**
     * 模型输入文件存储路径
     */
    @Excel(name = "模型输入文件存储路径")
    private String mdInFile;

    /**
     * 模型输入说明
     */
    @Excel(name = "模型输入说明")
    private String mdInNote;

    /**
     * 模型输出文件名称
     */
    @Excel(name = "模型输出文件名称")
    private String mdOutName;

    /**
     * 模型输出文件存储路径
     */
    @Excel(name = "模型输出文件存储路径")
    private String mdOutFile;

    /**
     * 模型输出说明
     */
    @Excel(name = "模型输出说明 ")
    private String mdOutNote;

    /**
     * 模型镜像名称
     */
    @Excel(name = "模型镜像名称")
    private String mirrorImageName;

    /**
     * 模型镜像地址/服务地址
     */
    @Excel(name = "模型镜像地址/服务地址")
    private String mirrorImageUrl;

    /**
     * 模型对应文件描述表
     */
    @Excel(name = "模型对应文件描述表")
    private String mirrorImageDesc;

    /**
     * 验证url
     */
    @Excel(name = "验证url")
    private String mdAuthUrl;

    /**
     * 编辑时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "编辑时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyby;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "编辑时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createby;

    /**
     * 注册人员
     */
    @Excel(name = "注册人员")
    private String regUser;
    /**
     * 顺序
     */
    private Integer sort;

    /**
     * 审核状态
     * 审核状态 0=待审核；1=已审核；2 = 驳回
     */
    private String audit;

    public String getAudit() {
        return audit;
    }

    public void setAudit(String audit) {
        this.audit = audit;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public MdModelInfo(String mdid, String fileid) {

    }


    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public String getPurpose() {
        return purpose;
    }

    public void setPurpose(String purpose) {
        this.purpose = purpose;
    }

    public Integer getIsrate() {
        return israte;
    }

    public void setIsrate(Integer israte) {
        this.israte = israte;
    }

    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public String getDevkind() {
        return devkind;
    }

    public void setDevkind(String devkind) {
        this.devkind = devkind;
    }

    public Date getCreateby() {
        return createby;
    }

    public void setCreateby(Date createby) {
        this.createby = createby;
    }

    public void setMdid(String mdid) {
        this.mdid = mdid;
    }


    public String getMdid() {
        return mdid;
    }

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

    public String getName() {
        return name;
    }

    public void setEnname(String enname) {
        this.enname = enname;
    }

    public String getEnname() {
        return enname;
    }

    public void setCateid(String cateid) {
        this.cateid = cateid;
    }

    public String getCateid() {
        return cateid;
    }

    public void setDevlang(String devlang) {
        this.devlang = devlang;
    }

    public String getDevlang() {
        return devlang;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getVersion() {
        return version;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public String getIntro() {
        return intro;
    }

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

    public String getType() {
        return type;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public String getTags() {
        return tags;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getAuthor() {
        return author;
    }

    public void setIspublic(Integer ispublic) {
        this.ispublic = ispublic;
    }

    public Integer getIspublic() {
        return ispublic;
    }

    public void setIsapproved(Integer isapproved) {
        this.isapproved = isapproved;
    }

    public Integer getIsapproved() {
        return isapproved;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setClassname(String classname) {
        this.classname = classname;
    }

    public String getClassname() {
        return classname;
    }

    public void setMdRunCmd(String mdRunCmd) {
        this.mdRunCmd = mdRunCmd;
    }

    public String getMdRunCmd() {
        return mdRunCmd;
    }

    public void setMdUrl(String mdUrl) {
        this.mdUrl = mdUrl;
    }

    public String getMdUrl() {
        return mdUrl;
    }

    public void setMdAuth(String mdAuth) {
        this.mdAuth = mdAuth;
    }

    public String getMdAuth() {
        return mdAuth;
    }

    public void setMdHeader(String mdHeader) {
        this.mdHeader = mdHeader;
    }

    public String getMdHeader() {
        return mdHeader;
    }

    public void setMdSecret(String mdSecret) {
        this.mdSecret = mdSecret;
    }

    public String getMdSecret() {
        return mdSecret;
    }

    public void setMdUnit(String mdUnit) {
        this.mdUnit = mdUnit;
    }

    public String getMdUnit() {
        return mdUnit;
    }

    public void setMdContact(String mdContact) {
        this.mdContact = mdContact;
    }

    public String getMdContact() {
        return mdContact;
    }

    public void setDevUnit(String devUnit) {
        this.devUnit = devUnit;
    }

    public String getDevUnit() {
        return devUnit;
    }

    public void setDevContact(String devContact) {
        this.devContact = devContact;
    }

    public String getDevContact() {
        return devContact;
    }

    public void setWhFlag(Integer whFlag) {
        this.whFlag = whFlag;
    }

    public Integer getWhFlag() {
        return whFlag;
    }

    public void setWhUrl(String whUrl) {
        this.whUrl = whUrl;
    }

    public String getWhUrl() {
        return whUrl;
    }

    public void setWhMethod(String whMethod) {
        this.whMethod = whMethod;
    }

    public String getWhMethod() {
        return whMethod;
    }

    public void setWhAuth(String whAuth) {
        this.whAuth = whAuth;
    }

    public String getWhAuth() {
        return whAuth;
    }

    public void setWhHeader(String whHeader) {
        this.whHeader = whHeader;
    }

    public String getWhHeader() {
        return whHeader;
    }

    public void setWhSecret(String whSecret) {
        this.whSecret = whSecret;
    }

    public String getWhSecret() {
        return whSecret;
    }

    public void setEnvOs(String envOs) {
        this.envOs = envOs;
    }

    public String getEnvOs() {
        return envOs;
    }

    public void setEvnArmX86(String evnArmX86) {
        this.evnArmX86 = evnArmX86;
    }

    public String getEvnArmX86() {
        return evnArmX86;
    }

    public void setEnvCpu(Integer envCpu) {
        this.envCpu = envCpu;
    }

    public Integer getEnvCpu() {
        return envCpu;
    }

    public void setEnvGpuType(String envGpuType) {
        this.envGpuType = envGpuType;
    }

    public String getEnvGpuType() {
        return envGpuType;
    }

    public void setEnvGpuNum(Integer envGpuNum) {
        this.envGpuNum = envGpuNum;
    }

    public Integer getEnvGpuNum() {
        return envGpuNum;
    }

    public void setEnvGpuMem(Integer envGpuMem) {
        this.envGpuMem = envGpuMem;
    }

    public Integer getEnvGpuMem() {
        return envGpuMem;
    }

    public void setEnvDisk(Integer envDisk) {
        this.envDisk = envDisk;
    }

    public Integer getEnvDisk() {
        return envDisk;
    }

    public void setEnvMem(Integer envMem) {
        this.envMem = envMem;
    }

    public Integer getEnvMem() {
        return envMem;
    }

    public void setDeployIp(String deployIp) {
        this.deployIp = deployIp;
    }

    public String getDeployIp() {
        return deployIp;
    }

    public void setDeployDir(String deployDir) {
        this.deployDir = deployDir;
    }

    public String getDeployDir() {
        return deployDir;
    }

    public void setDeployPort(String deployPort) {
        this.deployPort = deployPort;
    }

    public String getDeployPort() {
        return deployPort;
    }

    public void setDeployNote(String deployNote) {
        this.deployNote = deployNote;
    }

    public String getDeployNote() {
        return deployNote;
    }

    public void setMdInName(String mdInName) {
        this.mdInName = mdInName;
    }

    public String getMdInName() {
        return mdInName;
    }

    public void setMdInFile(String mdInFile) {
        this.mdInFile = mdInFile;
    }

    public String getMdInFile() {
        return mdInFile;
    }

    public void setMdInNote(String mdInNote) {
        this.mdInNote = mdInNote;
    }

    public String getMdInNote() {
        return mdInNote;
    }

    public void setMdOutName(String mdOutName) {
        this.mdOutName = mdOutName;
    }

    public String getMdOutName() {
        return mdOutName;
    }

    public void setMdOutFile(String mdOutFile) {
        this.mdOutFile = mdOutFile;
    }

    public String getMdOutFile() {
        return mdOutFile;
    }

    public void setMdOutNote(String mdOutNote) {
        this.mdOutNote = mdOutNote;
    }

    public String getMdOutNote() {
        return mdOutNote;
    }

    public void setMirrorImageName(String mirrorImageName) {
        this.mirrorImageName = mirrorImageName;
    }

    public String getMirrorImageName() {
        return mirrorImageName;
    }

    public void setMirrorImageUrl(String mirrorImageUrl) {
        this.mirrorImageUrl = mirrorImageUrl;
    }

    public String getMirrorImageUrl() {
        return mirrorImageUrl;
    }

    public void setMirrorImageDesc(String mirrorImageDesc) {
        this.mirrorImageDesc = mirrorImageDesc;
    }

    public String getMirrorImageDesc() {
        return mirrorImageDesc;
    }

    public void setMdAuthUrl(String mdAuthUrl) {
        this.mdAuthUrl = mdAuthUrl;
    }

    public String getMdAuthUrl() {
        return mdAuthUrl;
    }

    public void setModifyby(Date modifyby) {
        this.modifyby = modifyby;
    }

    public Date getModifyby() {
        return modifyby;
    }

    public void setRegUser(String regUser) {
        this.regUser = regUser;
    }

    public String getRegUser() {
        return regUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("mdid", getMdid())
                .append("name", getName())
                .append("enname", getEnname())
                .append("cateid", getCateid())
                .append("devlang", getDevlang())
                .append("version", getVersion())
                .append("intro", getIntro())
                .append("type", getType())
                .append("tags", getTags())
                .append("author", getAuthor())
                .append("ispublic", getIspublic())
                .append("isapproved", getIsapproved())
                .append("status", getStatus())
                .append("classname", getClassname())
                .append("mdRunCmd", getMdRunCmd())
                .append("mdUrl", getMdUrl())
                .append("mdAuth", getMdAuth())
                .append("mdHeader", getMdHeader())
                .append("mdSecret", getMdSecret())
                .append("mdUnit", getMdUnit())
                .append("mdContact", getMdContact())
                .append("devUnit", getDevUnit())
                .append("devContact", getDevContact())
                .append("whFlag", getWhFlag())
                .append("whUrl", getWhUrl())
                .append("whMethod", getWhMethod())
                .append("whAuth", getWhAuth())
                .append("whHeader", getWhHeader())
                .append("whSecret", getWhSecret())
                .append("envOs", getEnvOs())
                .append("evnArmX86", getEvnArmX86())
                .append("envCpu", getEnvCpu())
                .append("envGpuType", getEnvGpuType())
                .append("envGpuNum", getEnvGpuNum())
                .append("envGpuMem", getEnvGpuMem())
                .append("envDisk", getEnvDisk())
                .append("envMem", getEnvMem())
                .append("deployIp", getDeployIp())
                .append("deployDir", getDeployDir())
                .append("deployPort", getDeployPort())
                .append("deployNote", getDeployNote())
                .append("mdInName", getMdInName())
                .append("mdInFile", getMdInFile())
                .append("mdInNote", getMdInNote())
                .append("mdOutName", getMdOutName())
                .append("mdOutFile", getMdOutFile())
                .append("mdOutNote", getMdOutNote())
                .append("mirrorImageName", getMirrorImageName())
                .append("mirrorImageUrl", getMirrorImageUrl())
                .append("mirrorImageDesc", getMirrorImageDesc())
                .append("mdAuthUrl", getMdAuthUrl())
                .append("createby", getCreateby())
                .append("modifyby", getModifyby())
                .append("regUser", getRegUser())
                .toString();
    }

    public MdModelInfo(String mdid, String name, String enname, String cateid, String devlang, String version, String intro, String type, String tags, String author, Integer ispublic, Integer isapproved, Integer status, String classname, String mdRunCmd, String mdUrl, String mdAuth, String mdHeader, String mdSecret, String mdUnit, String mdContact, String devUnit, String devContact, Integer whFlag, String whUrl, String whMethod, String whAuth, String whHeader, String whSecret, String envOs, String evnArmX86, Integer envCpu, String envGpuType, Integer envGpuNum, Integer envGpuMem, Integer envDisk, Integer envMem, String deployIp, String deployDir, String deployPort, String deployNote, String mdInName, String mdInFile, String mdInNote, String mdOutName, String mdOutFile, String mdOutNote, String mirrorImageName, String mirrorImageUrl, String mirrorImageDesc, String mdAuthUrl, Date modifyby, Date createby, String regUser) {
        this.mdid = mdid;
        this.name = name;
        this.enname = enname;
        this.cateid = cateid;
        this.devlang = devlang;
        this.version = version;
        this.intro = intro;
        this.type = type;
        this.tags = tags;
        this.author = author;
        this.ispublic = ispublic;
        this.isapproved = isapproved;
        this.status = status;
        this.classname = classname;
        this.mdRunCmd = mdRunCmd;
        this.mdUrl = mdUrl;
        this.mdAuth = mdAuth;
        this.mdHeader = mdHeader;
        this.mdSecret = mdSecret;
        this.mdUnit = mdUnit;
        this.mdContact = mdContact;
        this.devUnit = devUnit;
        this.devContact = devContact;
        this.whFlag = whFlag;
        this.whUrl = whUrl;
        this.whMethod = whMethod;
        this.whAuth = whAuth;
        this.whHeader = whHeader;
        this.whSecret = whSecret;
        this.envOs = envOs;
        this.evnArmX86 = evnArmX86;
        this.envCpu = envCpu;
        this.envGpuType = envGpuType;
        this.envGpuNum = envGpuNum;
        this.envGpuMem = envGpuMem;
        this.envDisk = envDisk;
        this.envMem = envMem;
        this.deployIp = deployIp;
        this.deployDir = deployDir;
        this.deployPort = deployPort;
        this.deployNote = deployNote;
        this.mdInName = mdInName;
        this.mdInFile = mdInFile;
        this.mdInNote = mdInNote;
        this.mdOutName = mdOutName;
        this.mdOutFile = mdOutFile;
        this.mdOutNote = mdOutNote;
        this.mirrorImageName = mirrorImageName;
        this.mirrorImageUrl = mirrorImageUrl;
        this.mirrorImageDesc = mirrorImageDesc;
        this.mdAuthUrl = mdAuthUrl;
        this.modifyby = modifyby;
        this.createby = createby;
        this.regUser = regUser;
    }

    public MdModelInfo() {
    }
}

