package com.lightinit.hsdataplatformresdir.model.admin;

import com.lightinit.hsdataplatformresdir.annotation.FieldDescriber;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class ResourceDataMicroappDataModel {

    private Long id;

    //服务名称
    @NotEmpty()
    @FieldDescriber(descripton = "微应用名称")
    private String resourceName;
    //服务简介
    @NotEmpty()
    @FieldDescriber(descripton = "微应用简介")
    private String resourceSummary;
    //服务标示
    @NotEmpty()
    @FieldDescriber(descripton = "微应用标示")
    private String resourceIdentity;
    //提供单位
    @NotNull(message="{notnull.message}")
    @FieldDescriber(descripton = "提供单位")
    private Long provider;
    //状态
    private String resourceState;
    //提交日期
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date registerDate;
    //服务方式
    @NotEmpty()
    @FieldDescriber(descripton = "服务方式")
    private String serviceMethod;
    //服务渠道
    @NotEmpty()
    @FieldDescriber(descripton = "服务渠道")
    private String serviceChannel;
    //演绎地址
//    @URL
//    @FieldDescriber(descripton = "演绎地址")
    private String demoUrl;
   //访问地址
//   @URL
//   @FieldDescriber(descripton = "访问URL")
    private String url;
    //页面截图
    private String screenshot ;
    //目标分类
    @NotNull(message="{notnull.message}")
    @FieldDescriber(descripton = "目录分类")
    private String catelogType;


    //基础分类
    private Long catelogBasic;
    //部门分类
    private Long catelogSector;
    //主题分类
    private Long catelogTheme;
    //自定义分类
    private Long catelogCustom;
    //共享类型
    private String shareType;
    //开发类型
    private String openType;
    //是否可交易
    private Byte allowDeal;
    //服务标签
    private String serviceTag;

    private Long createdBy;
    private Long auditedBy;

    private Date auditedAt;
    private int auditStatus;


    //外部·分类·的id
    private String appkinds ;

    //外部·开发商·id
    private String developerId ;

    //外部·开发商·name
    private String developers ;

    //外部·镜像名称
    private String imageTags;

    //外部·分类·名称
    private String classIfcation ;

    //外部·详情说明
    private String content ;

    //注册到服务目录



    private String outId1 ;

    private String outId2 ;

    //服务名称
    private String serviceName ;
    //租户名称
    private String namespace ;
    //发布名称
    private String publishName ;
    //监控集群
    private String turbineCluster ;
    //实例数量
    private Integer replicas ;
    //镜像名称
    private String image ;
    //CPU限制
    private String cpuLimit ;
    //内存限制
    private String memLimit ;
    //容器端口
    private Integer containerPort ;
    //宿主机端口
    private Integer hostPort ;
    //服务端口
    private Integer servicePort ;
    //是否启用负载均衡
    private boolean loadBalance ;

    private String clusterIp ;
    //租户ID
    private BigDecimal lesseeId ;
    //服务路径
    private String contextPath  ;
    //服务权限
    private Integer serviceAuth ;

    private List<VolumeInfoModel> volumes ;

    public int getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(int auditStatus) {
        this.auditStatus = auditStatus;
    }

    private String auditResult;
    private String auditOpinion;

    public Long getAuditedBy() {
        return auditedBy;
    }

    public void setAuditedBy(Long auditedBy) {
        this.auditedBy = auditedBy;
    }

    public Date getAuditedAt() {
        return auditedAt;
    }

    public void setAuditedAt(Date auditedAt) {
        this.auditedAt = auditedAt;
    }

    public String getAuditResult() {
        return auditResult;
    }

    public void setAuditResult(String auditResult) {
        this.auditResult = auditResult;
    }

    public String getAuditOpinion() {
        return auditOpinion;
    }

    public void setAuditOpinion(String auditOpinion) {
        this.auditOpinion = auditOpinion;
    }

    public Long getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(Long createdBy) {
        this.createdBy = createdBy;
    }

    public Long getId() {
        return id;
    }

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

    public String getResourceName() {
        return resourceName;
    }

    public void setResourceName(String resourceName) {
        this.resourceName = resourceName;
    }

    public String getResourceSummary() {
        return resourceSummary;
    }

    public void setResourceSummary(String resourceSummary) {
        this.resourceSummary = resourceSummary;
    }

    public String getResourceIdentity() {
        return resourceIdentity;
    }

    public void setResourceIdentity(String resourceIdentity) {
        this.resourceIdentity = resourceIdentity;
    }

    public Long getProvider() {
        return provider;
    }

    public void setProvider(Long provider) {
        this.provider = provider;
    }

    public String getResourceState() {
        return resourceState;
    }

    public void setResourceState(String resourceState) {
        this.resourceState = resourceState;
    }

    public Date getRegisterDate() {
        return registerDate;
    }

    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    public String getServiceMethod() {
        return serviceMethod;
    }

    public void setServiceMethod(String serviceMethod) {
        this.serviceMethod = serviceMethod;
    }

    public String getServiceChannel() {
        return serviceChannel;
    }

    public void setServiceChannel(String serviceChannel) {
        this.serviceChannel = serviceChannel;
    }

    public String getDemoUrl() {
        return demoUrl;
    }

    public void setDemoUrl(String demoUrl) {
        this.demoUrl = demoUrl;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getScreenshot() {
        return screenshot;
    }

    public void setScreenshot(String screenshot) {
        this.screenshot = screenshot;
    }

    public String getCatelogType() {
        return catelogType;
    }

    public void setCatelogType(String catelogType) {
        this.catelogType = catelogType;
    }

    public Long getCatelogBasic() {
        return catelogBasic;
    }

    public void setCatelogBasic(Long catelogBasic) {
        this.catelogBasic = catelogBasic;
    }

    public Long getCatelogSector() {
        return catelogSector;
    }

    public void setCatelogSector(Long catelogSector) {
        this.catelogSector = catelogSector;
    }

    public Long getCatelogTheme() {
        return catelogTheme;
    }

    public void setCatelogTheme(Long catelogTheme) {
        this.catelogTheme = catelogTheme;
    }

    public Long getCatelogCustom() {
        return catelogCustom;
    }

    public void setCatelogCustom(Long catelogCustom) {
        this.catelogCustom = catelogCustom;
    }

    public String getShareType() {
        return shareType;
    }

    public void setShareType(String shareType) {
        this.shareType = shareType;
    }

    public String getOpenType() {
        return openType;
    }

    public void setOpenType(String openType) {
        this.openType = openType;
    }

    public Byte getAllowDeal() {
        return allowDeal;
    }

    public void setAllowDeal(Byte allowDeal) {
        this.allowDeal = allowDeal;
    }

    public String getServiceTag() {
        return serviceTag;
    }

    public void setServiceTag(String serviceTag) {
        this.serviceTag = serviceTag;
    }

    public String getImageTags() {
        return imageTags;
    }

    public void setImageTags(String imageTags) {
        this.imageTags = imageTags;
    }

    public String getAppkinds() {
        return appkinds;
    }

    public void setAppkinds(String appkinds) {
        this.appkinds = appkinds;
    }

    public String getDeveloperId() {
        return developerId;
    }

    public void setDeveloperId(String developerId) {
        this.developerId = developerId;
    }

    public String getDevelopers() {
        return developers;
    }

    public void setDevelopers(String developers) {
        this.developers = developers;
    }

    public String getClassIfcation() {
        return classIfcation;
    }

    public void setClassIfcation(String classIfcation) {
        this.classIfcation = classIfcation;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getServiceName() {
        return serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public String getNamespace() {
        return namespace;
    }

    public void setNamespace(String namespace) {
        this.namespace = namespace;
    }

    public String getPublishName() {
        return publishName;
    }

    public void setPublishName(String publishName) {
        this.publishName = publishName;
    }

    public String getTurbineCluster() {
        return turbineCluster;
    }

    public void setTurbineCluster(String turbineCluster) {
        this.turbineCluster = turbineCluster;
    }

    public Integer getReplicas() {
        return replicas;
    }

    public void setReplicas(Integer replicas) {
        this.replicas = replicas;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getCpuLimit() {
        return cpuLimit;
    }

    public void setCpuLimit(String cpuLimit) {
        this.cpuLimit = cpuLimit;
    }

    public String getMemLimit() {
        return memLimit;
    }

    public void setMemLimit(String memLimit) {
        this.memLimit = memLimit;
    }

    public Integer getContainerPort() {
        return containerPort;
    }

    public void setContainerPort(Integer containerPort) {
        this.containerPort = containerPort;
    }

    public Integer getHostPort() {
        return hostPort;
    }

    public void setHostPort(Integer hostPort) {
        this.hostPort = hostPort;
    }

    public Integer getServicePort() {
        return servicePort;
    }

    public void setServicePort(Integer servicePort) {
        this.servicePort = servicePort;
    }

    public boolean isLoadBalance() {
        return loadBalance;
    }

    public void setLoadBalance(boolean loadBalance) {
        this.loadBalance = loadBalance;
    }

    public String getClusterIp() {
        return clusterIp;
    }

    public void setClusterIp(String clusterIp) {
        this.clusterIp = clusterIp;
    }

    public BigDecimal getLesseeId() {
        return lesseeId;
    }

    public void setLesseeId(BigDecimal lesseeId) {
        this.lesseeId = lesseeId;
    }

    public String getContextPath() {
        return contextPath;
    }

    public void setContextPath(String contextPath) {
        this.contextPath = contextPath;
    }

    public Integer getServiceAuth() {
        return serviceAuth;
    }

    public void setServiceAuth(Integer serviceAuth) {
        this.serviceAuth = serviceAuth;
    }

    public List<VolumeInfoModel> getVolumes() {
        return volumes;
    }

    public void setVolumes(List<VolumeInfoModel> volumes) {
        this.volumes = volumes;
    }

    public String getOutId1() {
        return outId1;
    }

    public void setOutId1(String outId1) {
        this.outId1 = outId1;
    }

    public String getOutId2() {
        return outId2;
    }

    public void setOutId2(String outId2) {
        this.outId2 = outId2;
    }
}
