From c283ea49e7ebd12c5feadcbb34c0c2b69f8d966a Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Thu, 18 Jan 2024 11:55:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=BF=AB=E6=8D=B7=E5=85=A5=E5=8F=A3):=2080?= =?UTF-8?q?281?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LawsHomeQuickAccessServiceImpl.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeQuickAccessServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeQuickAccessServiceImpl.java index 6a6dbc1c..990748e9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeQuickAccessServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeQuickAccessServiceImpl.java @@ -23,10 +23,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @@ -170,24 +167,30 @@ public class LawsHomeQuickAccessServiceImpl extends ServiceImpl() .eq(LawsHomeQuickAccess::getUserId, sysUser.getId())); - + // 全部菜单 + List menuAllList = sysPermissionService.list(); // 获取拥有权限的菜单列表 List sysPermissionList = queryPermissionMenuList(""); - List menuIdList = sysPermissionList.stream().map(SysPermission::getId).collect(Collectors.toList()); // 保存新数据 List lawsHomeQuickAccessList = new ArrayList<>(); if (StringUtils.isNotBlank(permissionIdList)){ String[] menuId = permissionIdList.split(","); + List errorList = new ArrayList<>(); for (String permissionId : menuId) { - long count = menuIdList.stream().filter(v -> v.contains(permissionId)).count(); + long count = sysPermissionList.stream().filter(v -> v.getId().equals(permissionId)).count(); if (count == 0){ - throw new JeroBootException("不能保存没有权限的菜单!"); + Optional optional = menuAllList.stream().filter(v -> v.getId().equals(permissionId)).findFirst(); + optional.ifPresent(v -> errorList.add(v.getName())); } LawsHomeQuickAccess lawsHomeQuickAccess = new LawsHomeQuickAccess(); lawsHomeQuickAccess.setUserId(sysUser.getId()); lawsHomeQuickAccess.setPermissionId(permissionId); lawsHomeQuickAccessList.add(lawsHomeQuickAccess); } + if (!errorList.isEmpty()){ + String join = String.join("、", errorList); + throw new JeroBootException(join + ",不能保存没有权限的菜单!"); + } saveBatch(lawsHomeQuickAccessList); } }