diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java index 6a9f304d..9af50ed9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java @@ -85,7 +85,7 @@ public class DocumentSplitInfo extends BaseEntity { private String cut; /**ids 搜索用*/ - @ApiModelProperty(value = "标ids 搜索用") + @ApiModelProperty(value = "ids 搜索用") @TableField(exist = false) private String ids; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 2b34f020..a3bf7eb8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -227,15 +227,22 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); List ids; // 获取id集合 - if (StringUtils.isNotBlank(documentSplitInfo.getIds())){ - ids = Arrays.asList(documentSplitInfo.getIds().split(",")); - }else { - List documentSplitInfos = queryByList(documentSplitInfo); - ids = documentSplitInfos.stream().map(DocumentSplitInfo::getId).collect(Collectors.toList()); - } + ids = Arrays.asList(documentSplitInfo.getIds().split(",")); // 水平越权 isHorizontalOverstep(String.join(",", ids)); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (!loginUser.getRoleIds().contains("admin")){ + List documentSplitInfos = queryByList(documentSplitInfo); + long count = documentSplitInfos.stream().filter(v -> !loginUser.getId().equals(v.getAuthor())).count(); + if (count > 0){ + if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) { + throw new JeroBootException("无权限!"); + }else{ + throw new JeroBootException("No access!"); + } + } + } updateWrapper.in(SarFileSplitInfoEO::getId, ids); SysUser sysUser = sysUserService.getById(documentSplitInfo.getCreateBy()); @@ -1666,6 +1673,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private static QueryWrapper getSarFileSplitInfoEOQueryWrapper(DocumentSplitInfo documentSplitInfo) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(documentSplitInfo.getId()), "id", documentSplitInfo.getId()); + if (StringUtils.isNotBlank(documentSplitInfo.getIds())){ + String[] ids = documentSplitInfo.getIds().split(","); + queryWrapper.in(StringUtils.isNotBlank(documentSplitInfo.getIds()), "id", Arrays.asList(ids)); + } // 标准编号/标准名称 if (StringUtils.isNotBlank(documentSplitInfo.getSerialNumberOrName())){ queryWrapper.and(qw -> qw