增加行政区划树接口
This commit is contained in:
parent
fabb2d8abc
commit
d6903acf64
@ -7,9 +7,9 @@ import java.util.List;
|
|||||||
* @param <E>
|
* @param <E>
|
||||||
*/
|
*/
|
||||||
public interface TreeEntity<E, T> {
|
public interface TreeEntity<E, T> {
|
||||||
public T getId();
|
T getId();
|
||||||
|
|
||||||
public T getParentId();
|
T getParentId();
|
||||||
|
|
||||||
public void setChildren(List<E> children);
|
void setChildren(List<E> children);
|
||||||
}
|
}
|
||||||
|
@ -21,17 +21,17 @@ public class TreeUtils {
|
|||||||
* @param rootCode 根节点编码
|
* @param rootCode 根节点编码
|
||||||
* @return 构建树状
|
* @return 构建树状
|
||||||
*/
|
*/
|
||||||
public static <T extends TreeEntity> List<T> getTreeList(List<T> entityList, Object rootCode) {
|
public static <T extends TreeEntity<T, ?>> List<T> getTreeList(List<T> entityList, Object rootCode) {
|
||||||
if (CollectionUtil.isEmpty(entityList)) {
|
if (CollectionUtil.isEmpty(entityList)) {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
//第一次循环 数据分组
|
//第一次循环 数据分组
|
||||||
Map<Object, List<T>> groupData = new HashMap<>();
|
Map<Object, List<T>> groupData = new HashMap<>();
|
||||||
for (T entity : entityList) {
|
for (T entity : entityList) {
|
||||||
groupData.computeIfAbsent(entity.getParentId(), (k) -> new ArrayList<T>()).add(entity);
|
groupData.computeIfAbsent(entity.getParentId(), (k) -> new ArrayList<>()).add(entity);
|
||||||
}
|
}
|
||||||
// 第二次循环 生成树结构
|
// 第二次循环 生成树结构
|
||||||
for (TreeEntity entity : entityList) {
|
for (TreeEntity<T, ?> entity : entityList) {
|
||||||
List<T> children = groupData.get(entity.getId());
|
List<T> children = groupData.get(entity.getId());
|
||||||
if (children != null) {
|
if (children != null) {
|
||||||
entity.setChildren(children);
|
entity.setChildren(children);
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package org.dromara.iot.service;
|
package org.dromara.iot.service;
|
||||||
|
|
||||||
import org.dromara.iot.domain.TdMeter;
|
|
||||||
import org.dromara.iot.domain.vo.TdMeterVo;
|
|
||||||
import org.dromara.iot.domain.bo.TdMeterBo;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.iot.domain.bo.TdMeterBo;
|
||||||
|
import org.dromara.iot.domain.vo.TdMeterVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 行政区划
|
* 行政区划
|
||||||
@ -15,7 +16,7 @@ import java.io.Serial;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("sys_city_area")
|
@TableName("sys_city_area")
|
||||||
public class SysCityArea {
|
public class SysCityArea implements Serializable {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
Loading…
Reference in New Issue
Block a user