fix(87643): 资料中心-有管理权限的人对文件夹进行操作提示无权限
This commit is contained in:
+15
-1
@@ -1,5 +1,6 @@
|
||||
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.metadata.IPage;
|
||||
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.util.CurrentUserUtil;
|
||||
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.LawsDataCenterFolder;
|
||||
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolderSublist;
|
||||
import com.jero.modules.laws.dataCenter.mapper.LawsDataCenterFileMapper;
|
||||
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService;
|
||||
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.service.IOSSFileService;
|
||||
import com.spire.ms.System.Collections.ArrayList;
|
||||
@@ -33,6 +37,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -54,6 +59,8 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl<LawsDataCenterFil
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
@Autowired
|
||||
private LawsDataCenterFileMapper lawsDataCenterFileMapper;
|
||||
@Autowired
|
||||
private LawsDataCenterFolderSublistService lawsDataCenterFolderSublistService;
|
||||
@Value("${adminRoleCode}")
|
||||
private String adminRoleCode;
|
||||
private static final String UPLOADER = "uploader";
|
||||
@@ -198,8 +205,15 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl<LawsDataCenterFil
|
||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||
}
|
||||
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()) &&
|
||||
(StringUtils.isBlank(folder.getAuthManageIds()) || !folder.getAuthManageIds().contains(CurrentUserUtil.getId()))) {
|
||||
(StringUtils.isBlank(userIds) || !userIds.contains(CurrentUserUtil.getId()))) {
|
||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user