From 467ea3336a9faed310b632893a15fb1ef056e018 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Mon, 29 Jul 2024 15:57:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(87352):=20=E6=96=87=E6=A1=A3=E6=8B=86?= =?UTF-8?q?=E5=88=86--=E6=9B=B4=E6=94=B9=E6=9D=83=E9=99=90=E5=BA=94?= =?UTF-8?q?=E8=AF=A5=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/DocumentSplitInfo.java | 2 +- .../impl/DocumentSplitServiceImpl.java | 23 ++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) 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