From d19aa8d2ee53330cdc2433c136e8396688ef670b Mon Sep 17 00:00:00 2001 From: none Date: Mon, 20 Mar 2023 14:51:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AD=A6=E5=91=98=E8=AF=BE?= =?UTF-8?q?=E7=A8=8Bapi=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/frontend/UserController.java | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/frontend/UserController.java b/src/main/java/xyz/playedu/api/controller/frontend/UserController.java index f7c386a..f1e3dc2 100644 --- a/src/main/java/xyz/playedu/api/controller/frontend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/frontend/UserController.java @@ -1,5 +1,6 @@ package xyz.playedu.api.controller.frontend; +import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -17,6 +18,7 @@ import xyz.playedu.api.types.JsonResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.stream.Collectors; /** * @Author 杭州白书科技有限公司 @@ -54,20 +56,31 @@ public class UserController { } @GetMapping("/courses") - public JsonResponse courses() { + public JsonResponse courses(@RequestParam HashMap params) { + Integer depId = MapUtils.getInteger(params, "dep_id"); + if (depId == null || depId == 0) { + return JsonResponse.error("请选择部门"); + } + + List userJoinDepIds = userService.getDepIdsByUserId(PlayEduFCtx.getUserId()); + if (userJoinDepIds == null) { + return JsonResponse.error("当前学员未加入任何部门"); + } + if (!userJoinDepIds.contains(depId)) { + return JsonResponse.error("当前学员未加入所选择部门"); + } + + // 读取部门课 + List depCourses = courseService.depCoursesAndShow(new ArrayList<>() {{ + add(depId); + }}); + // 公开课 List openCourses = courseService.openCoursesAndShow(200); - // 部门课 - List depCourses = new ArrayList<>(); - List userJoinDepIds = userService.getDepIdsByUserId(PlayEduFCtx.getUserId()); - if (userJoinDepIds != null && userJoinDepIds.size() > 0) { - depCourses = courseService.depCoursesAndShow(userJoinDepIds); - } - HashMap data = new HashMap<>(); - data.put("open", openCourses); - data.put("department", depCourses); + data.put("open", openCourses.stream().collect(Collectors.groupingBy(Course::getIsRequired))); + data.put("department", depCourses.stream().collect(Collectors.groupingBy(Course::getIsRequired))); return JsonResponse.data(data); }