|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.fdkankan.common.constant.SceneConstant;
|
|
import com.fdkankan.common.constant.SceneConstant;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
|
|
+import com.fdkankan.ucenter.constant.ErrorConstant;
|
|
import com.fdkankan.ucenter.constant.LoginConstant;
|
|
import com.fdkankan.ucenter.constant.LoginConstant;
|
|
import com.fdkankan.ucenter.entity.Folder;
|
|
import com.fdkankan.ucenter.entity.Folder;
|
|
import com.fdkankan.ucenter.entity.FolderScene;
|
|
import com.fdkankan.ucenter.entity.FolderScene;
|
|
@@ -95,7 +96,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<FolderTree> findListTree(Integer type, String username) {
|
|
|
|
|
|
+ public List<FolderTree> findListTree(String folderIds,Integer type, String username) {
|
|
if(type == null){
|
|
if(type == null){
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
|
|
}
|
|
}
|
|
@@ -103,7 +104,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
if(user == null){
|
|
if(user == null){
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3004, LoginConstant.FAILURE_MSG_3004);
|
|
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();
|
|
return new FolderTreeUtil(list).buildTree();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -122,6 +123,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
if(StringUtils.isNotEmpty(param.getFolderIds())){
|
|
if(StringUtils.isNotEmpty(param.getFolderIds())){
|
|
String[] folderIds = param.getFolderIds().split(",");
|
|
String[] folderIds = param.getFolderIds().split(",");
|
|
Folder folderEntity = null;
|
|
Folder folderEntity = null;
|
|
|
|
+ List<LambdaUpdateWrapper<Folder>> ListWr = new ArrayList<>();
|
|
for (String folderId : folderIds) {
|
|
for (String folderId : folderIds) {
|
|
folderEntity = this.getById(Long.valueOf(folderId));
|
|
folderEntity = this.getById(Long.valueOf(folderId));
|
|
|
|
|
|
@@ -131,6 +133,17 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
if(!folderEntity.getType().equals(param.getType())){
|
|
if(!folderEntity.getType().equals(param.getType())){
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
|
|
}
|
|
}
|
|
|
|
+ if(param.getParentId().equals(folderEntity.getId())){
|
|
|
|
+ throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
|
|
|
|
+ }
|
|
|
|
+ Folder folder = this.getById(param.getParentId());
|
|
|
|
+ if(folder == null){
|
|
|
|
+ throw new BusinessException(ErrorConstant.FAILURE_CODE_5050, ErrorConstant.FAILURE_MSG_5050);
|
|
|
|
+ }
|
|
|
|
+ if(folder.getParentId() != null && folder.getParentId().equals(folderEntity.getId())){
|
|
|
|
+ throw new BusinessException(ErrorConstant.FAILURE_CODE_5051, ErrorConstant.FAILURE_MSG_5051);
|
|
|
|
+ }
|
|
|
|
+
|
|
List<Folder> byParentIdAndName = findByParentIdAndName(param.getParentId(), folderEntity.getName(), user.getId(),param.getType());
|
|
List<Folder> byParentIdAndName = findByParentIdAndName(param.getParentId(), folderEntity.getName(), user.getId(),param.getType());
|
|
if(byParentIdAndName != null && byParentIdAndName.size() > 0){
|
|
if(byParentIdAndName != null && byParentIdAndName.size() > 0){
|
|
//表示迁移回当前目录,不做处理
|
|
//表示迁移回当前目录,不做处理
|
|
@@ -139,8 +152,12 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
}
|
|
}
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
|
|
}
|
|
}
|
|
|
|
+ ListWr.add(wrapper);
|
|
|
|
+ }
|
|
|
|
+ for (LambdaUpdateWrapper<Folder> wrapper : ListWr) {
|
|
this.update(wrapper);
|
|
this.update(wrapper);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
if(StringUtils.isNotEmpty(param.getSceneIds())){
|
|
if(StringUtils.isNotEmpty(param.getSceneIds())){
|
|
String[] sceneIds = param.getSceneIds().split(",");
|
|
String[] sceneIds = param.getSceneIds().split(",");
|
|
@@ -182,8 +199,14 @@ 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<>();
|
|
LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
+
|
|
|
|
+ List<Long> folderIdList = getByFolderIds(folderIds);
|
|
|
|
+ if(folderIdList.size() >0){
|
|
|
|
+ wrapper.notIn(Folder::getId,folderIdList);
|
|
|
|
+ }
|
|
|
|
+
|
|
wrapper.eq(Folder::getUserId,userId)
|
|
wrapper.eq(Folder::getUserId,userId)
|
|
.eq(Folder::getType,type);
|
|
.eq(Folder::getType,type);
|
|
return this.list(wrapper);
|
|
return this.list(wrapper);
|
|
@@ -230,8 +253,13 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<Folder> findByUserIdAndType(Long userId, Integer type, String name) {
|
|
|
|
|
|
+ public List<Folder> findByUserIdAndType(Long userId, Integer type, String name,String folderIds) {
|
|
LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
+
|
|
|
|
+ List<Long> folderIdList = getByFolderIds(folderIds);
|
|
|
|
+ if(folderIdList.size() >0){
|
|
|
|
+ wrapper.notIn(Folder::getId,folderIdList);
|
|
|
|
+ }
|
|
wrapper.eq(Folder::getUserId,userId);
|
|
wrapper.eq(Folder::getUserId,userId);
|
|
wrapper.eq(Folder::getType,type);
|
|
wrapper.eq(Folder::getType,type);
|
|
if(StringUtils.isNotBlank(name)){
|
|
if(StringUtils.isNotBlank(name)){
|
|
@@ -239,4 +267,23 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
|
|
}
|
|
}
|
|
return this.list(wrapper);
|
|
return this.list(wrapper);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private List<Long> getByFolderIds(String folderIds){
|
|
|
|
+ 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);
|
|
|
|
+ return allFolderIds.stream().map(Folder::getId).collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+ return new ArrayList<>();
|
|
|
|
+ }
|
|
}
|
|
}
|