|
|
|
@ -140,10 +140,14 @@ public class CoursesServiceImpl extends ServiceImpl<CoursesMapper, Courses> impl |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public PageDTO<CoursesVO> queryCourses(CourseQuery courseQuery) { |
|
|
|
|
int roleId = Integer.parseInt(umsUserMapper.selectOne(new LambdaQueryWrapper<UmsUser>() |
|
|
|
|
.eq(UmsUser::getUsername, courseQuery.getUsername())).getRoleId()); |
|
|
|
|
// int roleId = Integer.parseInt(umsUserMapper.selectOne(new LambdaQueryWrapper<UmsUser>()
|
|
|
|
|
// .eq(UmsUser::getUsername, courseQuery.getUsername())).getRoleId());
|
|
|
|
|
UmsUser umsUser = umsUserMapper.selectById(courseQuery.getUserId()); |
|
|
|
|
if (umsUser == null){ |
|
|
|
|
throw new BusinessException(ErrorCode.PARAMS_USER_NOTEXISTS); |
|
|
|
|
} |
|
|
|
|
int roleId = Integer.parseInt(umsUser.getRoleId()); |
|
|
|
|
PageDTO<CoursesVO> coursesVOPageDTO; |
|
|
|
|
|
|
|
|
|
switch (roleId) { |
|
|
|
|
//教师--也是管理员--但是只能看自己的课程,有搜索功能
|
|
|
|
|
case 1: |
|
|
|
@ -168,7 +172,7 @@ public class CoursesServiceImpl extends ServiceImpl<CoursesMapper, Courses> impl |
|
|
|
|
Page<Courses> page = courseQuery.toMpPageDefaultSortByCreateTime(); |
|
|
|
|
Page<Courses> p = lambdaQuery() |
|
|
|
|
.like(courseQuery.getName() != null, Courses::getName, courseQuery.getName()) |
|
|
|
|
.apply("FIND_IN_SET({0}, teacher)", courseQuery.getUsername()) |
|
|
|
|
.apply("FIND_IN_SET({0}, teacher)", courseQuery.getUserId()) |
|
|
|
|
.eq(courseQuery.getCategory() != null && !courseQuery.getCategory().isEmpty(), Courses::getCategory, courseQuery.getCategory()) |
|
|
|
|
.eq(courseQuery.getNature() != null && !courseQuery.getNature().isEmpty(), Courses::getNature, courseQuery.getNature()) |
|
|
|
|
.eq(courseQuery.getAssessmenttype() != null &&!courseQuery.getAssessmenttype().isEmpty(), Courses::getAssessmenttype, courseQuery.getAssessmenttype()) |
|
|
|
@ -178,11 +182,10 @@ public class CoursesServiceImpl extends ServiceImpl<CoursesMapper, Courses> impl |
|
|
|
|
|
|
|
|
|
private PageDTO<CoursesVO> queryForStudent(CourseQuery courseQuery) { |
|
|
|
|
List<StudentCourses> studentCourses = studentCoursesMapper.selectList(new LambdaQueryWrapper<StudentCourses>() |
|
|
|
|
.eq(StudentCourses::getStudent, courseQuery.getUsername())); |
|
|
|
|
.eq(StudentCourses::getStudent, courseQuery.getUserId())); |
|
|
|
|
List<String> coursesList = studentCourses.stream() |
|
|
|
|
.map(StudentCourses::getCourse) |
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
Page<Courses> page = courseQuery.toMpPageDefaultSortByCreateTime(); |
|
|
|
|
Page<Courses> p = lambdaQuery() |
|
|
|
|
.like(courseQuery.getName() != null, Courses::getName, courseQuery.getName()) |
|
|
|
@ -190,7 +193,6 @@ public class CoursesServiceImpl extends ServiceImpl<CoursesMapper, Courses> impl |
|
|
|
|
.page(page); |
|
|
|
|
return PageDTO.of(p, CoursesVO.class); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private PageDTO<CoursesVO> queryForAdmin(CourseQuery courseQuery) { |
|
|
|
|
Page<Courses> page = courseQuery.toMpPageDefaultSortByCreateTime(); |
|
|
|
|
Page<Courses> p = lambdaQuery() |
|
|
|
@ -206,17 +208,16 @@ public class CoursesServiceImpl extends ServiceImpl<CoursesMapper, Courses> impl |
|
|
|
|
private void populateTeacherNames(List<CoursesVO> courseList) { |
|
|
|
|
for (CoursesVO coursesVO : courseList) { |
|
|
|
|
List<String> teacherNameList = new ArrayList<>(); |
|
|
|
|
String[] teacherIds = coursesVO.getTeacher().split(","); |
|
|
|
|
for (String teacherId : teacherIds) { |
|
|
|
|
UmsUser umsUserTea = umsUserMapper.selectOne(new LambdaQueryWrapper<UmsUser>() |
|
|
|
|
.eq(UmsUser::getUsername, teacherId)); |
|
|
|
|
if (umsUserTea == null) { |
|
|
|
|
throw new BusinessException(ErrorCode.PARAMS_USER_NOTEXISTS); |
|
|
|
|
} |
|
|
|
|
String[] teacherUserIds = coursesVO.getTeacher().split(","); |
|
|
|
|
for (String teacherId : teacherUserIds) { |
|
|
|
|
// UmsUser umsUserTea = umsUserMapper.selectOne(new LambdaQueryWrapper<UmsUser>()
|
|
|
|
|
// .eq(UmsUser::getUsername, teacherId));
|
|
|
|
|
// if (umsUserTea == null) {
|
|
|
|
|
// throw new BusinessException(ErrorCode.PARAMS_USER_NOTEXISTS);
|
|
|
|
|
// }
|
|
|
|
|
// System.out.println(umsAdminTea);
|
|
|
|
|
UmsTeacher umsTeacher = umsTeacherMapper.selectOne(new LambdaQueryWrapper<UmsTeacher>() |
|
|
|
|
.eq(UmsTeacher::getUserId, umsUserTea.getId())); |
|
|
|
|
// System.out.println(umsTeacher);
|
|
|
|
|
.eq(UmsTeacher::getUserId,teacherId)); |
|
|
|
|
if (umsTeacher == null){ |
|
|
|
|
throw new BusinessException(ErrorCode.PARAMS_USER_NOTEXISTS); |
|
|
|
|
} |
|
|
|
|