From 412a9446e2778543fcd18d70349a3a1fbce3fb3a Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Wed, 7 Aug 2024 15:25:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=87=E6=A1=A3=E6=8B=86=E5=88=86):=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9B=B4=E6=94=B9=E6=9D=83=E9=99=90=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DocumentSplitController.java | 15 ++++++++++ .../service/IDocumentSplitService.java | 6 ++++ .../impl/DocumentSplitServiceImpl.java | 30 +++++++++++-------- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java index 4f3859d4..be01ad25 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java @@ -134,6 +134,21 @@ public class DocumentSplitController { return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); } + /** + * 更改权限校验 + * + * @param ids + * @return + */ + @AutoLog(value = "标准拆分-更改权限校验") + @ApiOperation(value="标准拆分-更改权限校验", notes="标准拆分-更改权限校验") + @GetMapping(value = "/updatePermissionsCheck") + @ApiOperationSupport(order = 5) + public Result updatePermissionsCheck(String ids) { + documentSplitService.updatePermissionsCheck(ids); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + /** * 拆分 * diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java index 666e9763..674339c5 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java @@ -218,4 +218,10 @@ public interface IDocumentSplitService { * @param serialNumber */ void disposeItemVal(String isAsmsImport, String serialNumber); + + /** + * 文档拆分-更改权限校验 + * @param ids + */ + void updatePermissionsCheck(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 eef19607..f1cfa93e 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 @@ -217,18 +217,6 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { // 水平越权 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()); @@ -1390,6 +1378,24 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } } + @Override + public void updatePermissionsCheck(String ids) { + DocumentSplitInfo documentSplitInfo = new DocumentSplitInfo(); + documentSplitInfo.setIds(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!"); + } + } + } + } + private void manageData(Map resultMap, StringBuilder fieldsBuilder, List valuesList) { // 所有key(字段名) resultMap.forEach((k, v) -> {