package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.asrs.entity.DataResource; import com.zy.asrs.mapper.DataResourceMapper; import com.zy.asrs.service.DataResourceService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service("dataResourceService") public class DataResourceServiceImpl extends ServiceImpl implements DataResourceService { @Override public List selectRootData() { return this.baseMapper.selectRootData(); } @Override public List selectByResourceId(Integer resourceId) { return this.baseMapper.selectByResourceId(resourceId); } @Override public boolean hasChild(Integer resourceId) { List resources = this.baseMapper.selectByResourceId(resourceId); return resources.size() > 0; } @Override public List selectAll() { List dataResources = this.baseMapper.selectAll(); ArrayList list = new ArrayList<>();//普通根节点 ArrayList listChild = new ArrayList<>();//有下级根节点 for (DataResource dataResource : dataResources) {//将普通数据和有孩子节点数据进行分割 if (this.hasChild(dataResource.getId())) { listChild.add(dataResource); } else { list.add(dataResource); } } for (DataResource dataResource : listChild) {//合并数据 list.add(dataResource); } return list; } }