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<DataResourceMapper, DataResource> implements DataResourceService {
|
|
@Override
|
public List<DataResource> selectRootData() {
|
return this.baseMapper.selectRootData();
|
}
|
|
@Override
|
public List<DataResource> selectByResourceId(Integer resourceId) {
|
return this.baseMapper.selectByResourceId(resourceId);
|
}
|
|
@Override
|
public boolean hasChild(Integer resourceId) {
|
List<DataResource> resources = this.baseMapper.selectByResourceId(resourceId);
|
return resources.size() > 0;
|
}
|
|
@Override
|
public List<DataResource> selectAll() {
|
List<DataResource> dataResources = this.baseMapper.selectAll();
|
ArrayList<DataResource> list = new ArrayList<>();//普通根节点
|
ArrayList<DataResource> 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;
|
}
|
}
|