解释这段代码List<Long> dataScopes = dataService.getDeptIds(userService.findByName(SecurityUtils.getCurrentUsername())); // criteria.getDeptIds() 不为空并且数据权限不为空则取交集 if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)){ // 取交集 criteria.getDeptIds().retainAll(dataScopes); if(!CollectionUtil.isEmpty(criteria.getDeptIds())){ return new ResponseEntity<>(userService.queryAll(criteria,pageable),HttpStatus.OK); } } else { // 否则取并集 criteria.getDeptIds().addAll(dataScopes); return new ResponseEntity<>(userService.queryAll(criteria,pageable),HttpStatus.OK); }
时间: 2023-03-25 20:02:02 浏览: 190
【ASP.NET编程知识】在.net core中实现字段和属性注入的示例代码.docx
这段代码首先定义了一个 List<Long> 类型的变量 dataScopes,并将其赋值为调用 dataService 的 getDeptIds 方法,该方法的参数为调用 userService 的 findByName 方法并传入 SecurityUtils.getCurrentUsername() 的返回值。接下来的 if 语句判断 criteria.getDeptIds() 是否为空且数据权限不为空,如果是,则取 dataScopes 和 criteria.getDeptIds() 的交集。
阅读全文