fix(资料中心): 完善
This commit is contained in:
+16
-7
@@ -88,6 +88,7 @@ public class LawsDataCenterFolder implements Serializable {
|
||||
@Excel(name = "管理权限(用户id逗号拼接)", width = 15)
|
||||
@ApiModelProperty(value = "管理权限(用户id逗号拼接)")
|
||||
@Size(max = 2000, message = "管理权限超出最大限度")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String authManageIds;
|
||||
/**
|
||||
* 管理权限(用户id逗号拼接) 翻译"
|
||||
@@ -101,20 +102,28 @@ public class LawsDataCenterFolder implements Serializable {
|
||||
@Excel(name = "查看权限(用户id逗号拼接)", width = 15)
|
||||
@ApiModelProperty(value = "查看权限(用户id逗号拼接)")
|
||||
@Size(max = 2000, message = "查看权限超出最大限度")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String authViewIds;
|
||||
/**
|
||||
* 下载权限(用户id逗号拼接)
|
||||
*/
|
||||
@Excel(name = "下载权限(用户id逗号拼接)", width = 15)
|
||||
@ApiModelProperty(value = "下载权限(用户id逗号拼接)")
|
||||
@Size(max = 2000, message = "下载权限超出最大限度")
|
||||
private java.lang.String authDownloadIds;
|
||||
/**
|
||||
* 查看权限(用户id逗号拼接) 翻译
|
||||
*/
|
||||
@ApiModelProperty(value = "查看权限(用户id逗号拼接) 翻译")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String authViewIdsDictText;
|
||||
/**
|
||||
* 下载权限(用户id逗号拼接)
|
||||
*/
|
||||
@Excel(name = "下载权限(用户id逗号拼接)", width = 15)
|
||||
@ApiModelProperty(value = "下载权限(用户id逗号拼接)")
|
||||
@Size(max = 2000, message = "下载权限超出最大限度")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String authDownloadIds;
|
||||
/**
|
||||
* 下载权限(用户id逗号拼接) 翻译
|
||||
*/
|
||||
@ApiModelProperty(value = "下载权限(用户id逗号拼接) 翻译")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String authDownloadIdsDictText;
|
||||
/**
|
||||
* 默认根节点(1:是 0:否)
|
||||
*/
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl<LawsDataCenterFil
|
||||
}
|
||||
// 下载权限标识
|
||||
String authDownloadIds = file.getAuthDownloadIds();
|
||||
if (!authDownloadIds.contains(userId)){
|
||||
if (StringUtils.isBlank(authDownloadIds) || !authDownloadIds.contains(userId)){
|
||||
file.setAuthDownloadTag(false);
|
||||
}
|
||||
}
|
||||
|
||||
+36
-8
@@ -52,11 +52,11 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
|
||||
@Autowired
|
||||
private ILawsDataCenterFileService lawsDataCenterFileService;
|
||||
@Autowired
|
||||
private LawsDataCenterFolderSublistService lawsDataCenterFolderSublistService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Value("${adminRoleCode}")
|
||||
private String adminRoleCode;
|
||||
@Autowired
|
||||
private LawsDataCenterFolderSublistService lawsDataCenterFolderSublistService;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
@@ -72,6 +72,40 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
|
||||
.orderByAsc(LawsDataCenterFolder::getSort).orderByAsc(LawsDataCenterFolder::getCreateTime));
|
||||
List<LawsDataCenterFolder> allList = BeanCopyUtils.copyBeanList(lawsDataCenterFolderList, LawsDataCenterFolder.class);
|
||||
|
||||
List<String> idList = lawsDataCenterFolderList.stream().map(LawsDataCenterFolder::getId).collect(Collectors.toList());
|
||||
List<LawsDataCenterFolderSublist> list = new ArrayList<>();
|
||||
if (!CollectionUtils.isEmpty(idList)){
|
||||
list = lawsDataCenterFolderSublistService.list(
|
||||
new LambdaQueryWrapper<LawsDataCenterFolderSublist>()
|
||||
.in(LawsDataCenterFolderSublist::getDataCenterFolderId, idList));
|
||||
}
|
||||
|
||||
// 填充权限加翻译
|
||||
for (LawsDataCenterFolder lawsDataCenterFolder : lawsDataCenterFolderList) {
|
||||
String authManages = list.stream()
|
||||
.filter(v -> v.getDataCenterFolderId().equals(lawsDataCenterFolder.getId())
|
||||
&& DataCenterCommon.AUTH_MANAGE.equals(v.getType()))
|
||||
.map(LawsDataCenterFolderSublist::getUserId)
|
||||
.collect(Collectors.joining(","));
|
||||
lawsDataCenterFolder.setAuthManageIds(authManages);
|
||||
String authViews = list.stream()
|
||||
.filter(v -> v.getDataCenterFolderId().equals(lawsDataCenterFolder.getId())
|
||||
&& DataCenterCommon.AUTH_VIEW.equals(v.getType()))
|
||||
.map(LawsDataCenterFolderSublist::getUserId)
|
||||
.collect(Collectors.joining(","));
|
||||
lawsDataCenterFolder.setAuthViewIds(authViews);
|
||||
String authDownloads = list.stream()
|
||||
.filter(v -> v.getDataCenterFolderId().equals(lawsDataCenterFolder.getId())
|
||||
&& DataCenterCommon.AUTH_DOWNLOAD.equals(v.getType()))
|
||||
.map(LawsDataCenterFolderSublist::getUserId)
|
||||
.collect(Collectors.joining(","));
|
||||
lawsDataCenterFolder.setAuthDownloadIds(authDownloads);
|
||||
|
||||
lawsDataCenterFolder.setAuthManageIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthManageIds(), ""));
|
||||
lawsDataCenterFolder.setAuthViewIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthViewIds(), ""));
|
||||
lawsDataCenterFolder.setAuthDownloadIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthDownloadIds(), ""));
|
||||
}
|
||||
|
||||
// 非管理员只能看到自己创建的 or 拥有管理权限 or 拥有查看权限的文件夹 or 默认根目录
|
||||
List<String> adminRoleCodeList = Arrays.asList(adminRoleCode.split(","));
|
||||
Collection<String> intersection = CollectionUtils.intersection(Arrays.asList(roleIds.split(",")), adminRoleCodeList);
|
||||
@@ -90,12 +124,6 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
|
||||
lawsDataCenterFolderList = lawsDataCenterFolderList.stream().filter(v -> v.getFolderName().contains(folderName)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
// 翻译
|
||||
for (LawsDataCenterFolder lawsDataCenterFolder : lawsDataCenterFolderList) {
|
||||
lawsDataCenterFolder.setAuthManageIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthManageIds(), ""));
|
||||
lawsDataCenterFolder.setAuthViewIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthViewIds(), ""));
|
||||
}
|
||||
|
||||
// 寻找每个子级的父节点直到最上级
|
||||
List<LawsDataCenterFolder> fatherNodeList = new ArrayList<>();
|
||||
findFatherNode(lawsDataCenterFolderList, allList, fatherNodeList);
|
||||
|
||||
Reference in New Issue
Block a user