package com.oying.modules.system.domain;
|
|
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Getter;
|
import lombok.Setter;
|
import com.oying.base.BaseEntity;
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import java.io.Serializable;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.Set;
|
|
/**
|
* @author Z
|
* @date 2019-03-25
|
*/
|
@Getter
|
@Setter
|
@TableName("sys_dept")
|
public class Dept extends BaseEntity implements Serializable {
|
|
@NotNull(groups = Update.class)
|
@TableId(value="dept_id", type = IdType.AUTO)
|
@ApiModelProperty(value = "ID", hidden = true)
|
private Long id;
|
|
@TableField(exist = false)
|
@JSONField(serialize = false)
|
@ApiModelProperty(value = "角色")
|
private Set<Role> roles;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "子机构")
|
private List<Dept> children;
|
|
@ApiModelProperty(value = "排序")
|
private Integer deptSort;
|
|
@NotBlank
|
@ApiModelProperty(value = "机构名称")
|
private String name;
|
|
@NotNull
|
@ApiModelProperty(value = "是否启用")
|
private Boolean enabled;
|
|
@ApiModelProperty(value = "上级机构")
|
private Long pid;
|
|
@ApiModelProperty(value = "子节点数目", hidden = true)
|
private Integer subCount = 0;
|
|
@Override
|
public boolean equals(Object o) {
|
if (this == o) {
|
return true;
|
}
|
if (o == null || getClass() != o.getClass()) {
|
return false;
|
}
|
Dept dept = (Dept) o;
|
return Objects.equals(id, dept.id) &&
|
Objects.equals(name, dept.name);
|
}
|
|
@Override
|
public int hashCode() {
|
return Objects.hash(id, name);
|
}
|
|
@ApiModelProperty(value = "是否有子节点")
|
public Boolean getHasChildren() {
|
return subCount > 0;
|
}
|
|
|
@ApiModelProperty(value = "是否为叶子")
|
public Boolean getLeaf() {
|
return subCount <= 0;
|
}
|
|
@ApiModelProperty(value = "标签名称")
|
public String getLabel() {
|
return name;
|
}
|
}
|