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 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<LawsHomeQuickAcc
|
||||
// 删除旧数据
|
||||
remove(new LambdaQueryWrapper<LawsHomeQuickAccess>()
|
||||
.eq(LawsHomeQuickAccess::getUserId, sysUser.getId()));
|
||||
|
||||
// 全部菜单
|
||||
List<SysPermission> menuAllList = sysPermissionService.list();
|
||||
// 获取拥有权限的菜单列表
|
||||
List<SysPermission> sysPermissionList = queryPermissionMenuList("");
|
||||
List<String> menuIdList = sysPermissionList.stream().map(SysPermission::getId).collect(Collectors.toList());
|
||||
// 保存新数据
|
||||
List<LawsHomeQuickAccess> lawsHomeQuickAccessList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(permissionIdList)){
|
||||
String[] menuId = permissionIdList.split(",");
|
||||
List<String> 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<SysPermission> 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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user