diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java index 3db0c13d..8769f2fa 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java @@ -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:否) */ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java index 95fb863f..f3b327fa 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFileServiceImpl.java @@ -106,7 +106,7 @@ public class LawsDataCenterFileServiceImpl extends ServiceImpl allList = BeanCopyUtils.copyBeanList(lawsDataCenterFolderList, LawsDataCenterFolder.class); + List idList = lawsDataCenterFolderList.stream().map(LawsDataCenterFolder::getId).collect(Collectors.toList()); + List list = new ArrayList<>(); + if (!CollectionUtils.isEmpty(idList)){ + list = lawsDataCenterFolderSublistService.list( + new LambdaQueryWrapper() + .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 adminRoleCodeList = Arrays.asList(adminRoleCode.split(",")); Collection intersection = CollectionUtils.intersection(Arrays.asList(roleIds.split(",")), adminRoleCodeList); @@ -90,12 +124,6 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl v.getFolderName().contains(folderName)).collect(Collectors.toList()); } - // 翻译 - for (LawsDataCenterFolder lawsDataCenterFolder : lawsDataCenterFolderList) { - lawsDataCenterFolder.setAuthManageIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthManageIds(), "")); - lawsDataCenterFolder.setAuthViewIdsDictText(sysUserService.dictByIdsOrUserNames(lawsDataCenterFolder.getAuthViewIds(), "")); - } - // 寻找每个子级的父节点直到最上级 List fatherNodeList = new ArrayList<>(); findFatherNode(lawsDataCenterFolderList, allList, fatherNodeList);