From fd07672154a1fff079084fbb44176842dc6f0bd3 Mon Sep 17 00:00:00 2001 From: none Date: Mon, 13 Mar 2023 16:32:21 +0800 Subject: [PATCH] update --- .../controller/frontend/CourseController.java | 44 +++++++++++++++++++ .../frontend/DepartmentController.java | 29 ++++++++++++ .../controller/frontend/UserController.java | 18 +++++++- 3 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 src/main/java/xyz/playedu/api/controller/frontend/CourseController.java create mode 100644 src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java diff --git a/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java b/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java new file mode 100644 index 0000000..2f41aac --- /dev/null +++ b/src/main/java/xyz/playedu/api/controller/frontend/CourseController.java @@ -0,0 +1,44 @@ +package xyz.playedu.api.controller.frontend; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import xyz.playedu.api.domain.Course; +import xyz.playedu.api.exception.NotFoundException; +import xyz.playedu.api.service.CourseService; +import xyz.playedu.api.types.JsonResponse; + +import java.util.HashMap; + +/** + * @Author 杭州白书科技有限公司 + * @create 2023/3/13 16:25 + */ +@RestController +@RequestMapping("/api/v1/course") +public class CourseController { + + @Autowired + private CourseService courseService; + + @GetMapping("/index") + public JsonResponse index() { + return JsonResponse.data(null); + } + + @GetMapping("/{id}") + public JsonResponse detail(@PathVariable(name = "id") Integer id) throws NotFoundException { + Course course = courseService.findOrFail(id); + if (course.getIsShow().equals(0)) { + throw new NotFoundException("课程不存在"); + } + + HashMap data = new HashMap<>(); + data.put("course", course); + + return JsonResponse.data(course); + } + +} diff --git a/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java b/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java new file mode 100644 index 0000000..1e4ae80 --- /dev/null +++ b/src/main/java/xyz/playedu/api/controller/frontend/DepartmentController.java @@ -0,0 +1,29 @@ +package xyz.playedu.api.controller.frontend; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import xyz.playedu.api.domain.Department; +import xyz.playedu.api.service.DepartmentService; +import xyz.playedu.api.types.JsonResponse; + +import java.util.stream.Collectors; + +/** + * @Author 杭州白书科技有限公司 + * @create 2023/3/13 16:23 + */ +@RestController +@RequestMapping("/api/v1/department") +public class DepartmentController { + + @Autowired + private DepartmentService departmentService; + + @GetMapping("/index") + public JsonResponse index() { + return JsonResponse.data(departmentService.all().stream().collect(Collectors.groupingBy(Department::getParentId))); + } + +} 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 068078e..2e0f20f 100644 --- a/src/main/java/xyz/playedu/api/controller/frontend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/frontend/UserController.java @@ -4,11 +4,17 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import xyz.playedu.api.PlayEduFContext; +import xyz.playedu.api.domain.Department; +import xyz.playedu.api.domain.User; import xyz.playedu.api.exception.ServiceException; import xyz.playedu.api.request.frontend.ChangePasswordRequest; +import xyz.playedu.api.service.DepartmentService; import xyz.playedu.api.service.UserService; import xyz.playedu.api.types.JsonResponse; +import java.util.HashMap; +import java.util.List; + /** * @Author 杭州白书科技有限公司 * @create 2023/3/13 09:21 @@ -20,9 +26,19 @@ public class UserController { @Autowired private UserService userService; + @Autowired + private DepartmentService departmentService; + @GetMapping("/detail") public JsonResponse detail() { - return JsonResponse.data(null); + User user = PlayEduFContext.getUser(); + List departments = departmentService.listByIds(userService.getDepIdsByUserId(user.getId())); + + HashMap data = new HashMap<>(); + data.put("user", user); + data.put("departments", departments); + + return JsonResponse.data(data); } @PutMapping("/password")