fix(快捷入口): 80281
This commit is contained in:
+11
-8
@@ -23,10 +23,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@@ -170,24 +167,30 @@ public class LawsHomeQuickAccessServiceImpl extends ServiceImpl<LawsHomeQuickAcc
|
|||||||
// 删除旧数据
|
// 删除旧数据
|
||||||
remove(new LambdaQueryWrapper<LawsHomeQuickAccess>()
|
remove(new LambdaQueryWrapper<LawsHomeQuickAccess>()
|
||||||
.eq(LawsHomeQuickAccess::getUserId, sysUser.getId()));
|
.eq(LawsHomeQuickAccess::getUserId, sysUser.getId()));
|
||||||
|
// 全部菜单
|
||||||
|
List<SysPermission> menuAllList = sysPermissionService.list();
|
||||||
// 获取拥有权限的菜单列表
|
// 获取拥有权限的菜单列表
|
||||||
List<SysPermission> sysPermissionList = queryPermissionMenuList("");
|
List<SysPermission> sysPermissionList = queryPermissionMenuList("");
|
||||||
List<String> menuIdList = sysPermissionList.stream().map(SysPermission::getId).collect(Collectors.toList());
|
|
||||||
// 保存新数据
|
// 保存新数据
|
||||||
List<LawsHomeQuickAccess> lawsHomeQuickAccessList = new ArrayList<>();
|
List<LawsHomeQuickAccess> lawsHomeQuickAccessList = new ArrayList<>();
|
||||||
if (StringUtils.isNotBlank(permissionIdList)){
|
if (StringUtils.isNotBlank(permissionIdList)){
|
||||||
String[] menuId = permissionIdList.split(",");
|
String[] menuId = permissionIdList.split(",");
|
||||||
|
List<String> errorList = new ArrayList<>();
|
||||||
for (String permissionId : menuId) {
|
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){
|
if (count == 0){
|
||||||
throw new JeroBootException("不能保存没有权限的菜单!");
|
Optional<SysPermission> optional = menuAllList.stream().filter(v -> v.getId().equals(permissionId)).findFirst();
|
||||||
|
optional.ifPresent(v -> errorList.add(v.getName()));
|
||||||
}
|
}
|
||||||
LawsHomeQuickAccess lawsHomeQuickAccess = new LawsHomeQuickAccess();
|
LawsHomeQuickAccess lawsHomeQuickAccess = new LawsHomeQuickAccess();
|
||||||
lawsHomeQuickAccess.setUserId(sysUser.getId());
|
lawsHomeQuickAccess.setUserId(sysUser.getId());
|
||||||
lawsHomeQuickAccess.setPermissionId(permissionId);
|
lawsHomeQuickAccess.setPermissionId(permissionId);
|
||||||
lawsHomeQuickAccessList.add(lawsHomeQuickAccess);
|
lawsHomeQuickAccessList.add(lawsHomeQuickAccess);
|
||||||
}
|
}
|
||||||
|
if (!errorList.isEmpty()){
|
||||||
|
String join = String.join("、", errorList);
|
||||||
|
throw new JeroBootException(join + ",不能保存没有权限的菜单!");
|
||||||
|
}
|
||||||
saveBatch(lawsHomeQuickAccessList);
|
saveBatch(lawsHomeQuickAccessList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user