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