Jelajahi Sumber

pref: selectUserList 7

shc 8 bulan lalu
induk
melakukan
0f730107f1

+ 40 - 29
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -1186,35 +1186,46 @@ public class SysUserController {
         Page<?> userVosPage = userService.pageUser(query, SecurityUtils.getUser());
 
 
-        // Set<Integer> userIds = userVosPage.getRecords().stream().map(UserVO::getUserId).collect(Collectors.toSet());
-        //
-        // if (CollUtil.isNotEmpty(userIds)) {
-        //
-        //     List<WmPlatformQuizTestResult> quizTestResults = platformQuizTestResultService.listPltQuizResults(userIds);
-        //
-        //     LocalDate today = LocalDate.now();
-        //     Map<Integer, List<WmPlatformQuizTestResult>> quizTestResult = quizTestResults.stream().filter(res -> res.getExpiry().isAfter(today)).collect(Collectors.groupingBy(WmPlatformQuizTestResult::getUserId));
-        //
-        //     userVosPage.getRecords().forEach(vo -> {
-        //         List<WmPlatformQuizTestResult> testResults = quizTestResult.get(vo.getUserId());
-        //         List<WmQuizResultModel> pure = null;
-        //         if (CollUtil.isNotEmpty(testResults)) {
-        //             Map<Integer, List<WmPlatformQuizTestResult>> collect = testResults.stream().collect(Collectors.groupingBy(WmPlatformQuizTestResult::getQuizId));
-        //             pure = new ArrayList<>(collect.size());
-        //
-        //             for (Map.Entry<Integer, List<WmPlatformQuizTestResult>> entry : collect.entrySet()) {
-        //                 pure.add(entry.getValue().get(0).getQuizResult());
-        //             }
-        //         }
-        //
-        //         vo.setQuizResult(CollUtil.isEmpty(pure) ? Collections.emptyList() : pure);
-        //
-        //         // 所属区域
-        //         List<Long> areaCodes = userAreaService.listUserAreas(Long.valueOf(vo.getUserId()));
-        //         vo.setAreaCodes(areaCodes);
-        //
-        //     });
-        // }
+
+        if (CollUtil.isNotEmpty(userVosPage.getRecords())) {
+
+            List<UserVO> collect1 = userVosPage.getRecords().stream().map(o -> (UserVO) o).collect(Collectors.toList());
+
+
+            Set<Integer> userIds = collect1.stream().mapToInt(UserVO::getUserId).boxed().collect(Collectors.toSet());
+
+            List<WmPlatformQuizTestResult> quizTestResults = platformQuizTestResultService.listPltQuizResults(userIds);
+
+            LocalDate today = LocalDate.now();
+            Map<Integer, List<WmPlatformQuizTestResult>> quizTestResult = quizTestResults.stream().filter(res -> res.getExpiry().isAfter(today)).collect(Collectors.groupingBy(WmPlatformQuizTestResult::getUserId));
+
+            collect1.forEach(vo -> {
+                List<WmPlatformQuizTestResult> testResults = quizTestResult.get(vo.getUserId());
+                List<WmQuizResultModel> pure = null;
+                if (CollUtil.isNotEmpty(testResults)) {
+                    Map<Integer, List<WmPlatformQuizTestResult>> collect = testResults.stream().collect(Collectors.groupingBy(WmPlatformQuizTestResult::getQuizId));
+                    pure = new ArrayList<>(collect.size());
+
+                    for (Map.Entry<Integer, List<WmPlatformQuizTestResult>> entry : collect.entrySet()) {
+                        pure.add(entry.getValue().get(0).getQuizResult());
+                    }
+                }
+
+                vo.setQuizResult(CollUtil.isEmpty(pure) ? Collections.emptyList() : pure);
+
+                // 所属区域
+                List<Long> areaCodes = userAreaService.listUserAreas(Long.valueOf(vo.getUserId()));
+                vo.setAreaCodes(areaCodes);
+
+                //  角色
+                List<SysRole> roles = vo.getRoleList().stream().map(r -> roleId2RoleMap.get(r.getRoleId())).collect(Collectors.toList());
+                vo.setRoleList(roles);
+            });
+
+            Page<UserVO> page = new Page<>(userVosPage.getCurrent(), userVosPage.getSize(), userVosPage.getTotal());
+            page.setPages(userVosPage.getPages());
+            page.setRecords(collect1);
+        }
 
         return R.ok(userVosPage);
     }