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/service/ClassesUserService.java | 8 ++++++++ src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserResponseVO.java | 4 ++++ src/main/java/com/ycl/jxkg/controller/admin/UserController.java | 22 +++++++++++++++------- src/main/java/com/ycl/jxkg/service/impl/ClassesUserServiceImpl.java | 11 +++++++++++ 4 files changed, 38 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 9f6bf0e..03fe41d 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java @@ -1,12 +1,12 @@ package com.ycl.jxkg.controller.admin; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.github.pagehelper.PageInfo; import com.ycl.jxkg.base.BaseApiController; 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; @@ -14,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; @@ -27,11 +25,8 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; -import java.util.Objects; import java.util.UUID; import java.util.stream.Collectors; @@ -44,6 +39,8 @@ 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; @@ -57,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); } diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserResponseVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserResponseVO.java index b3fb606..0004f28 100644 --- a/src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserResponseVO.java +++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserResponseVO.java @@ -5,6 +5,8 @@ import lombok.Data; import org.springframework.beans.BeanUtils; +import java.util.List; + @Data public class UserResponseVO { @@ -38,6 +40,8 @@ private String imagePath; + private List<String> className; + public static UserResponseVO from(User user) { UserResponseVO vo = new UserResponseVO(); BeanUtils.copyProperties(user, vo); diff --git a/src/main/java/com/ycl/jxkg/service/ClassesUserService.java b/src/main/java/com/ycl/jxkg/service/ClassesUserService.java index a9e8fe9..5bbf767 100644 --- a/src/main/java/com/ycl/jxkg/service/ClassesUserService.java +++ b/src/main/java/com/ycl/jxkg/service/ClassesUserService.java @@ -81,4 +81,12 @@ * @return */ List<StudentVO> getTeacherListByClassesId(Integer id); + + /** + * 鏌ヨ鐢ㄦ埛瀵瑰簲鐝骇 + * + * @param userId + * @return + */ + List<Integer> getByUserId(Integer userId); } diff --git a/src/main/java/com/ycl/jxkg/service/impl/ClassesUserServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ClassesUserServiceImpl.java index 59fa3b9..85c6fd1 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ClassesUserServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ClassesUserServiceImpl.java @@ -120,6 +120,17 @@ } /** + * 鏍规嵁鐢ㄦ埛id鑾峰彇鐢ㄦ埛鐝骇淇℃伅 + * + * @param userId + * @return + */ + @Override + public List<Integer> getByUserId(Integer userId) { + return classesUserMapper.getClassesByUserId(userId); + } + + /** * 淇敼 * * @param form -- Gitblit v1.8.0