|
@@ -96,7 +96,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<FolderTree> findListTree(Integer type, String username) {
|
|
|
+ public List<FolderTree> findListTree(String folderIds,Integer type, String username) {
|
|
|
if(type == null){
|
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
|
|
|
}
|
|
@@ -104,7 +104,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
|
if(user == null){
|
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3004, LoginConstant.FAILURE_MSG_3004);
|
|
|
}
|
|
|
- List<Folder> list = this.getByUserAndType(user.getId(),type);
|
|
|
+ List<Folder> list = this.getByUserAndType(folderIds,user.getId(),type);
|
|
|
return new FolderTreeUtil(list).buildTree();
|
|
|
}
|
|
|
|
|
@@ -199,8 +199,26 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
|
}
|
|
|
|
|
|
|
|
|
- private List<Folder> getByUserAndType(Long userId, Integer type) {
|
|
|
+ private List<Folder> getByUserAndType(String folderIds,Long userId, Integer type) {
|
|
|
LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<>();
|
|
|
+
|
|
|
+ List<Long> folderIdList = new ArrayList<>();
|
|
|
+ if(StringUtils.isNotBlank(folderIds)){
|
|
|
+ if(folderIds.contains(",")){
|
|
|
+ String[] split = folderIds.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ folderIdList.add(Long.valueOf(s));
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ folderIdList.add(Long.valueOf(folderIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(folderIdList.size() >0){
|
|
|
+ List<Folder> allFolderIds = this.getAllFolderIds(folderIdList);
|
|
|
+ List<Long> ids = allFolderIds.stream().map(Folder::getId).collect(Collectors.toList());
|
|
|
+ wrapper.notIn(Folder::getId,ids);
|
|
|
+ }
|
|
|
+
|
|
|
wrapper.eq(Folder::getUserId,userId)
|
|
|
.eq(Folder::getType,type);
|
|
|
return this.list(wrapper);
|