package org.springblade.modules.mountainrain.vo; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.tool.node.INode; import org.springblade.modules.mountainrain.entity.Mountainrain; import java.util.ArrayList; import java.util.List; @Data @EqualsAndHashCode(callSuper = true) public class MountainrainVO extends Mountainrain implements INode { private static final long serialVersionUID = 1L; /** * 主键ID */ @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * 父节点ID */ @JsonSerialize(using = ToStringSerializer.class) private Long parentId =0L; /** * 子孙节点 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; @Override public List getChildren() { if (this.children == null) { this.children = new ArrayList<>(); } return this.children; } }