From 43f111dc0b9aaac9415eee56fa62dfc454ba203e Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期一, 28 十月 2024 15:22:57 +0800 Subject: [PATCH] 实现学生列表、教师列表、管理员列表的班级展示 --- src/main/java/com/ycl/jxkg/controller/admin/UserController.java | 39 ++++++++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java index deac41d..03fe41d 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java @@ -6,6 +6,7 @@ import com.ycl.jxkg.base.Result; import com.ycl.jxkg.base.SystemCode; import com.ycl.jxkg.context.WebContext; +import com.ycl.jxkg.domain.entity.Classes; import com.ycl.jxkg.domain.entity.User; import com.ycl.jxkg.domain.entity.UserEventLog; import com.ycl.jxkg.domain.other.KeyValue; @@ -13,9 +14,7 @@ import com.ycl.jxkg.domain.vo.admin.user.*; import com.ycl.jxkg.enums.RoleEnum; import com.ycl.jxkg.enums.UserStatusEnum; -import com.ycl.jxkg.service.AuthenticationService; -import com.ycl.jxkg.service.UserEventLogService; -import com.ycl.jxkg.service.UserService; +import com.ycl.jxkg.service.*; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.PageInfoHelper; import lombok.RequiredArgsConstructor; @@ -40,8 +39,11 @@ private final UserEventLogService userEventLogService; private final AuthenticationService authenticationService; private final WebContext webContext; + private final ClassesUserService classesUserService; + private final ClassesService classesService; private final Integer teacher = 2; private final Integer student = 1; + @RequestMapping(value = "/page/list", method = RequestMethod.POST) public Result<PageInfo<UserResponseVO>> pageList(@RequestBody UserPageRequestVO model) { if(!student.equals(model.getRole())) { @@ -52,6 +54,17 @@ } PageInfo<User> pageInfo = userService.userPage(model); PageInfo<UserResponseVO> page = PageInfoHelper.copyMap(pageInfo, d -> UserResponseVO.from(d)); + // 鎵惧埌姣忎釜鐢ㄦ埛瀵瑰簲鐨勭彮绾� + List<UserResponseVO> list = page.getList(); + list.stream().peek(item -> { + List<Integer> classesIds = classesUserService.getByUserId(item.getId()); + List<String> classNames = classesIds.stream().map(classesId -> { + Classes classes = classesService.getById(classesId); + return classes.getClassName(); + }).collect(Collectors.toList()); + item.setClassName(classNames); + }).collect(Collectors.toList()); + page.setList(list); return Result.ok(page); } @@ -67,6 +80,20 @@ return student; }).collect(Collectors.toList()); return Result.ok().data(studentVOS); + } + + @RequestMapping(value = "/teacher/list", method = RequestMethod.GET) + public Result<?> teacherList() { + List<User> teacherList = new LambdaQueryChainWrapper<>(userService.getBaseMapper()) + .eq(User::getRole, RoleEnum.TEACHER.getCode()) + .orderByDesc(User::getCreateTime) + .list(); + List<StudentVO> teachers = teacherList.stream().map(item -> { + StudentVO student = new StudentVO(); + BeanUtils.copyProperties(item, student); + return student; + }).collect(Collectors.toList()); + return Result.ok().data(teachers); } @RequestMapping(value = "/classes/students", method = RequestMethod.GET) @@ -114,11 +141,9 @@ return new Result<>(3, "瀵嗙爜涓嶈兘涓虹┖"); } } - if (StringUtils.isBlank(model.getBirthDay())) { - model.setBirthDay(null); - } User user = new User(); BeanUtils.copyProperties(model, user); + user.setAge(model.getAge()); if (model.getId() == null) { String encodePwd = authenticationService.pwdEncode(model.getPassword()); @@ -164,7 +189,7 @@ @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public Result delete(@PathVariable Integer id) { User user = userService.getUserById(id); - userService.updateById(user); + userService.removeById(user.getId()); return Result.ok(); } -- Gitblit v1.8.0