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.util.Date;
import java.util.List;

/**
 * Created by WangYao on 2018/5/23.
 */
public class ResourceAPIRegisterEditResourceModel {

    private Long id ;

    private List<Long> resourceApiInterfaceIds ;

    @NotEmpty
    @FieldDescriber(descripton = "服务名称")
    private String resourceName;

    //服务标识
    @NotEmpty
    @FieldDescriber(descripton = "服务标识")
    private String resourceIdentity;

    //服务简介
    @NotEmpty
    @FieldDescriber(descripton = "服务简介")
    private String resourceSummary;

    //注册日期
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date registerDate;

    //目录分类
    @NotEmpty
    @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;

    //提供单位
    @NotNull(message="{notnull.message}")
    @FieldDescriber(descripton = "提供单位")
    private Long provider;

    //返回码
    @NotEmpty
    @FieldDescriber(descripton = "返回码")
    private String returnCode;

    //服务类型
    private String serviceType;

    //服务标签
    private String serviceTag;

    //组成接口
    @NotEmpty
    @FieldDescriber(descripton = "组成接口")
    private String component;

    //关联其他类
    private List<ResourceAPIRegisterAddAPIInterfaceModel> addAPIInterfaceModelList ;

    //Resouse状态
    private String resourceState ;

    public String getResourceName() {
        return resourceName;
    }

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

    public String getResourceIdentity() {
        return resourceIdentity;
    }

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

    public String getResourceSummary() {
        return resourceSummary;
    }

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

    public Date getRegisterDate() {
        return registerDate;
    }

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

    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 List<ResourceAPIRegisterAddAPIInterfaceModel> getAddAPIInterfaceModelList() {
        return addAPIInterfaceModelList;
    }

    public void setAddAPIInterfaceModelList(List<ResourceAPIRegisterAddAPIInterfaceModel> addAPIInterfaceModelList) {
        this.addAPIInterfaceModelList = addAPIInterfaceModelList;
    }

    public String getResourceState() {
        return resourceState;
    }

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

    public Long getId() {
        return id;
    }

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

    public List<Long> getResourceApiInterfaceIds() {
        return resourceApiInterfaceIds;
    }

    public void setResourceApiInterfaceIds(List<Long> resourceApiInterfaceIds) {
        this.resourceApiInterfaceIds = resourceApiInterfaceIds;
    }

    public Long getProvider() {
        return provider;
    }

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

    public String getReturnCode() {
        return returnCode;
    }

    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public String getServiceTag() {
        return serviceTag;
    }

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

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }
}
