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