mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-07-23 17:49:34 +08:00
部门学员学习进度api增加更多过滤参数
This commit is contained in:
parent
11fc4e4c3f
commit
3ff3973d6c
@ -190,6 +190,9 @@ public class DepartmentController {
|
|||||||
String idCard = MapUtils.getString(params, "id_card");
|
String idCard = MapUtils.getString(params, "id_card");
|
||||||
String depIds = String.valueOf(id);
|
String depIds = String.valueOf(id);
|
||||||
|
|
||||||
|
String courseIdsStr = MapUtils.getString(params, "course_ids");
|
||||||
|
String showMode = MapUtils.getString(params, "show_mode");
|
||||||
|
|
||||||
UserPaginateFilter filter =
|
UserPaginateFilter filter =
|
||||||
new UserPaginateFilter() {
|
new UserPaginateFilter() {
|
||||||
{
|
{
|
||||||
@ -204,21 +207,48 @@ public class DepartmentController {
|
|||||||
|
|
||||||
PaginationResult<User> users = userService.paginate(page, size, filter);
|
PaginationResult<User> users = userService.paginate(page, size, filter);
|
||||||
|
|
||||||
// 部门关联线上课
|
List<Course> courses;
|
||||||
List<Course> courses =
|
if (courseIdsStr != null && courseIdsStr.trim().length() > 0) {
|
||||||
courseService.getDepCoursesAndShow(
|
// 指定了需要显示的线上课
|
||||||
new ArrayList<>() {
|
courses =
|
||||||
{
|
courseService.chunks(
|
||||||
add(id);
|
Arrays.stream(courseIdsStr.split(",")).map(Integer::valueOf).toList());
|
||||||
}
|
} else {
|
||||||
});
|
if ("only_open".equals(showMode)) {
|
||||||
|
// 公开(无关联部门)线上课
|
||||||
|
courses = courseService.getOpenCoursesAndShow(10000);
|
||||||
|
} else if ("only_dep".equals(showMode)) {
|
||||||
|
// 部门关联线上课
|
||||||
|
courses =
|
||||||
|
courseService.getDepCoursesAndShow(
|
||||||
|
new ArrayList<>() {
|
||||||
|
{
|
||||||
|
add(id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// 部门关联线上课
|
||||||
|
courses =
|
||||||
|
courseService.getDepCoursesAndShow(
|
||||||
|
new ArrayList<>() {
|
||||||
|
{
|
||||||
|
add(id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
List<Course> openCourses = courseService.getOpenCoursesAndShow(10000);
|
||||||
|
;
|
||||||
|
if (openCourses != null) {
|
||||||
|
courses.addAll(openCourses);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Integer> courseIds = courses.stream().map(Course::getId).toList();
|
||||||
|
|
||||||
// 学员的课程学习进度
|
// 学员的课程学习进度
|
||||||
Map<Integer, List<UserCourseRecord>> userCourseRecords =
|
Map<Integer, List<UserCourseRecord>> userCourseRecords =
|
||||||
userCourseRecordService
|
userCourseRecordService
|
||||||
.chunk(
|
.chunk(users.getData().stream().map(User::getId).toList(), courseIds)
|
||||||
users.getData().stream().map(User::getId).toList(),
|
|
||||||
courses.stream().map(Course::getId).toList())
|
|
||||||
.stream()
|
.stream()
|
||||||
.collect(Collectors.groupingBy(UserCourseRecord::getUserId));
|
.collect(Collectors.groupingBy(UserCourseRecord::getUserId));
|
||||||
Map<Integer, Map<Integer, UserCourseRecord>> userCourseRecordsMap = new HashMap<>();
|
Map<Integer, Map<Integer, UserCourseRecord>> userCourseRecordsMap = new HashMap<>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user