diff --git a/src/main/java/neatlogic/framework/cmdb/dto/ci/CiVo.java b/src/main/java/neatlogic/framework/cmdb/dto/ci/CiVo.java index 8fb375ea50afe19d4fc1c89e65e47ec4575e036f..4ff15cfd204e640d4d644fc63c72eb887ad40ec5 100644 --- a/src/main/java/neatlogic/framework/cmdb/dto/ci/CiVo.java +++ b/src/main/java/neatlogic/framework/cmdb/dto/ci/CiVo.java @@ -60,6 +60,8 @@ public class CiVo implements Serializable { private Long typeId; @EntityField(name = "类型名称", type = ApiParamType.STRING) private String typeName; + @EntityField(name = "模型目录id", type = ApiParamType.LONG) + private Long catalogId; @EntityField(name = "是否私有模型,0:不是,1:是", type = ApiParamType.INTEGER) private Integer isPrivate; @EntityField(name = "是否在菜单中显示,0:不显示,1:显示", type = ApiParamType.INTEGER) @@ -245,6 +247,14 @@ public class CiVo implements Serializable { this.typeId = typeId; } + public Long getCatalogId() { + return catalogId; + } + + public void setCatalogId(Long catalogId) { + this.catalogId = catalogId; + } + public Integer getIsPrivate() { return isPrivate; } diff --git a/src/main/java/neatlogic/framework/cmdb/dto/cicatalog/CiCatalogNodeVo.java b/src/main/java/neatlogic/framework/cmdb/dto/cicatalog/CiCatalogNodeVo.java new file mode 100644 index 0000000000000000000000000000000000000000..fb52c76fe894790e2e9d0c5fea65e27133baa805 --- /dev/null +++ b/src/main/java/neatlogic/framework/cmdb/dto/cicatalog/CiCatalogNodeVo.java @@ -0,0 +1,85 @@ +package neatlogic.framework.cmdb.dto.cicatalog; + +import com.alibaba.fastjson.annotation.JSONField; +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.restful.annotation.EntityField; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +public class CiCatalogNodeVo extends CiCatalogVo { + + private static final long serialVersionUID = 9045187703084309760L; + + public static final String CATALOG = "catalog"; + public static final String CI = "ci"; + + @EntityField(name = "common.children", type = ApiParamType.JSONARRAY) + private List children; + + @EntityField(name = "common.childrencount", type = ApiParamType.INTEGER) + private Integer childrenCount; + + @EntityField(name = "common.type", type = ApiParamType.STRING) + private String type; + + @JSONField(serialize=false) + private CiCatalogNodeVo parent; + + public List getChildren() { + if (children == null && Objects.equals(type, CiCatalogNodeVo.CATALOG)) { + children = new ArrayList<>(); + } + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public Integer getChildrenCount() { + if (childrenCount == null) { + childrenCount = CollectionUtils.size(children); + } + return childrenCount; + } + + public void setChildrenCount(Integer childrenCount) { + this.childrenCount = childrenCount; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public CiCatalogNodeVo getParent() { + return parent; + } + + public void setParent(CiCatalogNodeVo parent) { + this.parent = parent; + } + + public boolean addChild(CiCatalogNodeVo child) { + if (children == null) { + children = new ArrayList<>(); + } + if(children.contains(child)) { + return false; + } + return children.add(child); + } + + public boolean removeChild(CiCatalogNodeVo child) { + if (CollectionUtils.isEmpty(children)) { + return false; + } + return children.remove(child); + } +} diff --git a/src/main/java/neatlogic/framework/cmdb/dto/cicatalog/CiCatalogVo.java b/src/main/java/neatlogic/framework/cmdb/dto/cicatalog/CiCatalogVo.java new file mode 100644 index 0000000000000000000000000000000000000000..6ca3dd1e59d25c00ad6a06e7194304ce99ebcc8e --- /dev/null +++ b/src/main/java/neatlogic/framework/cmdb/dto/cicatalog/CiCatalogVo.java @@ -0,0 +1,69 @@ +package neatlogic.framework.cmdb.dto.cicatalog; + +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.restful.annotation.EntityField; +import neatlogic.framework.util.SnowflakeUtil; + +import java.io.Serializable; + +public class CiCatalogVo implements Serializable { + + private static final long serialVersionUID = 9045187703084309759L; + + public static final Long ROOT_PARENTID = -1L; + public static final Long ROOT_ID = 0L; + public static final String ROOT_NAME = "所有"; + @EntityField(name = "common.id", type = ApiParamType.LONG) + private Long id; + @EntityField(name = "common.name", type = ApiParamType.STRING) + private String name; + @EntityField(name = "common.parentid", type = ApiParamType.LONG) + private Long parentId; + @EntityField(name = "common.lft", type = ApiParamType.INTEGER) + private Integer lft; + @EntityField(name = "common.rht", type = ApiParamType.INTEGER) + private Integer rht; + + public Long getId() { + if (id == null) { + id = SnowflakeUtil.uniqueLong(); + } + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public Integer getLft() { + return lft; + } + + public void setLft(Integer lft) { + this.lft = lft; + } + + public Integer getRht() { + return rht; + } + + public void setRht(Integer rht) { + this.rht = rht; + } +} diff --git a/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogIsInUsedException.java b/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogIsInUsedException.java new file mode 100644 index 0000000000000000000000000000000000000000..fbea93c1a04914920183f22b16b65ef8a5401480 --- /dev/null +++ b/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogIsInUsedException.java @@ -0,0 +1,10 @@ +package neatlogic.framework.cmdb.exception.cicatalog; + +import neatlogic.framework.exception.core.ApiRuntimeException; + +public class CiCatalogIsInUsedException extends ApiRuntimeException { + + public CiCatalogIsInUsedException(String name) { + super("nfcec.cicatalogisinusedexception.cicatalogisinusedexception", name); + } +} diff --git a/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogNameRepeatException.java b/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogNameRepeatException.java new file mode 100644 index 0000000000000000000000000000000000000000..be696a19244b4775d8e06c0f8702cb83e7b5f888 --- /dev/null +++ b/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogNameRepeatException.java @@ -0,0 +1,10 @@ +package neatlogic.framework.cmdb.exception.cicatalog; + +import neatlogic.framework.exception.core.ApiRuntimeException; + +public class CiCatalogNameRepeatException extends ApiRuntimeException { + + public CiCatalogNameRepeatException(String name) { + super("nfcec.cicatalognamerepeatexception.cicatalognamerepeatexception", name); + } +} diff --git a/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogNotFoundException.java b/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogNotFoundException.java new file mode 100644 index 0000000000000000000000000000000000000000..015421b187407e8e2bf78f7f4d70acc4b967113c --- /dev/null +++ b/src/main/java/neatlogic/framework/cmdb/exception/cicatalog/CiCatalogNotFoundException.java @@ -0,0 +1,14 @@ +package neatlogic.framework.cmdb.exception.cicatalog; + +import neatlogic.framework.exception.core.ApiRuntimeException; + +public class CiCatalogNotFoundException extends ApiRuntimeException { + + public CiCatalogNotFoundException(Long id) { + super("nfcec.cicatalognotfoundexception.cicatalognotfoundexception", id); + } + + public CiCatalogNotFoundException(String name) { + super("nfcec.cicatalognotfoundexception.cicatalognotfoundexception", name); + } +}