fix(87643): 资料中心-有管理权限的人对文件夹进行操作提示无权限
This commit is contained in:
+15
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.laws.dataCenter.service.impl;
|
package com.jero.modules.laws.dataCenter.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -15,11 +16,14 @@ import com.jero.modules.laws.common.constant.FieldCommon;
|
|||||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
import com.jero.modules.laws.common.util.DateUtil;
|
import com.jero.modules.laws.common.util.DateUtil;
|
||||||
|
import com.jero.modules.laws.dataCenter.common.DataCenterCommon;
|
||||||
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile;
|
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile;
|
||||||
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder;
|
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder;
|
||||||
|
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolderSublist;
|
||||||
import com.jero.modules.laws.dataCenter.mapper.LawsDataCenterFileMapper;
|
import com.jero.modules.laws.dataCenter.mapper.LawsDataCenterFileMapper;
|
||||||
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService;
|
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService;
|
||||||
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService;
|
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService;
|
||||||
|
import com.jero.modules.laws.dataCenter.service.LawsDataCenterFolderSublistService;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
import com.spire.ms.System.Collections.ArrayList;
|
import com.spire.ms.System.Collections.ArrayList;
|
||||||
@@ -33,6 +37,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,6 +59,8 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl<LawsDataCenterFil
|
|||||||
private SendMessageAPI sendMessageAPI;
|
private SendMessageAPI sendMessageAPI;
|
||||||
@Autowired
|
@Autowired
|
||||||
private LawsDataCenterFileMapper lawsDataCenterFileMapper;
|
private LawsDataCenterFileMapper lawsDataCenterFileMapper;
|
||||||
|
@Autowired
|
||||||
|
private LawsDataCenterFolderSublistService lawsDataCenterFolderSublistService;
|
||||||
@Value("${adminRoleCode}")
|
@Value("${adminRoleCode}")
|
||||||
private String adminRoleCode;
|
private String adminRoleCode;
|
||||||
private static final String UPLOADER = "uploader";
|
private static final String UPLOADER = "uploader";
|
||||||
@@ -198,8 +205,15 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl<LawsDataCenterFil
|
|||||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
}
|
}
|
||||||
LawsDataCenterFolder folder = lawsDataCenterFolderService.getById(file.getFolderId());
|
LawsDataCenterFolder folder = lawsDataCenterFolderService.getById(file.getFolderId());
|
||||||
|
List<LawsDataCenterFolderSublist> getAuthManageList = lawsDataCenterFolderSublistService.list(
|
||||||
|
new LambdaQueryWrapper<LawsDataCenterFolderSublist>()
|
||||||
|
.eq(LawsDataCenterFolderSublist::getDataCenterFolderId, file.getFolderId())
|
||||||
|
.eq(LawsDataCenterFolderSublist::getType, DataCenterCommon.AUTH_MANAGE));
|
||||||
|
String userIds = getAuthManageList.stream()
|
||||||
|
.map(LawsDataCenterFolderSublist::getUserId)
|
||||||
|
.collect(Collectors.joining(","));
|
||||||
if (!CurrentUserUtil.getId().equals(folder.getOwnerId()) &&
|
if (!CurrentUserUtil.getId().equals(folder.getOwnerId()) &&
|
||||||
(StringUtils.isBlank(folder.getAuthManageIds()) || !folder.getAuthManageIds().contains(CurrentUserUtil.getId()))) {
|
(StringUtils.isBlank(userIds) || !userIds.contains(CurrentUserUtil.getId()))) {
|
||||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user