diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java index 93f40f34..a77beb1e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java @@ -10,18 +10,21 @@ import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService; +import com.adc.da.slrs.zlTree.service.IZlTreeService; import com.adc.da.util.LoginUserUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.management.Query; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -44,6 +47,8 @@ public class FileMaterialServiceImpl extends ServiceImpl treeIds = new ArrayList<>(); + zlTreeService.subordinateTreeNodes(treeIds, queryPage.getTreeId()); + if (ObjectUtils.isEmpty(treeIds)) { return null; } + // 查看菜单是否有数据权限 + treeIds = treeIds.stream().filter(treeId -> treeIdList.contains(treeId)).collect(Collectors.toList()); + if (ObjectUtils.isEmpty(treeIds)) { + return null; + } + queryPage.setTreeIdList(treeIds); } + //dataType制空,不然节点重名会有bug + queryPage.setDataType(null); + queryPage.setTreeId(null); return fileMaterialDao.getFileMaterialPage(page,queryPage); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java index 1ed663b7..e37b374c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java @@ -5,6 +5,7 @@ import com.adc.da.slrs.zlTree.entity.ZlTree; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Arrays; import java.util.List; /** @@ -51,4 +52,6 @@ public interface IZlTreeService extends IService { * @return */ ZlTree queryTree(String treeId); + + void subordinateTreeNodes(List treeIds,String parentTreeId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 98caaac2..4d9a6e88 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -154,4 +154,23 @@ public class ZlTreeServiceImpl extends ServiceImpl implements } return null; } + + /** + * 根据树的父节点查询所有子节点id + * + * @param parentTreeId + * @return + */ + @Override + public void subordinateTreeNodes(List treeIds, String parentTreeId) { + treeIds.add(parentTreeId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("p_id", parentTreeId); + List list = list(queryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + for (ZlTree zlTree : list) { + subordinateTreeNodes(treeIds,zlTree.getId()); + } + } + } }