|
|
@@ -1,19 +1,19 @@
|
|
|
package nju.seec.helper.service.impl;
|
|
|
|
|
|
+import nju.seec.helper.aspect.auth.LoginUser;
|
|
|
import nju.seec.helper.dao.ChooseDAO;
|
|
|
import nju.seec.helper.dao.CourseDAO;
|
|
|
import nju.seec.helper.dao.UserDAO;
|
|
|
import nju.seec.helper.dto.course.ChooseDTO;
|
|
|
import nju.seec.helper.dto.course.CourseDTO;
|
|
|
-import nju.seec.helper.aspect.auth.LoginUser;
|
|
|
import nju.seec.helper.entity.Choose;
|
|
|
import nju.seec.helper.entity.Course;
|
|
|
+import nju.seec.helper.enums.ExceptionType;
|
|
|
+import nju.seec.helper.exception.HelperException;
|
|
|
import nju.seec.helper.service.CourseService;
|
|
|
import nju.seec.helper.service.util.AuthUtils;
|
|
|
import nju.seec.helper.service.util.StringUtils;
|
|
|
import nju.seec.helper.util.EncryptUtils;
|
|
|
-import nju.seec.helper.enums.ExceptionType;
|
|
|
-import nju.seec.helper.exception.HelperException;
|
|
|
import nju.seec.helper.vo.CourseVO;
|
|
|
import nju.seec.helper.vo.UserVO;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
@@ -46,13 +46,11 @@ public class CourseServiceImpl implements CourseService {
|
|
|
// 检查
|
|
|
checkSameCourseName(0L, teacher.getId(), courseDTO.getName());
|
|
|
|
|
|
- Course course = new Course()
|
|
|
+ return new CourseVO(courseDAO.save(new Course()
|
|
|
.setTeacher(userDAO.findUserById(teacher.getId()))
|
|
|
.setName(courseDTO.getName())
|
|
|
.setBio(courseDTO.getBio())
|
|
|
- .setCode(EncryptUtils.encode(courseDTO.getCode()));
|
|
|
- course = courseDAO.save(course);
|
|
|
- return new CourseVO(course);
|
|
|
+ .setCode(EncryptUtils.encode(courseDTO.getCode()))));
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -64,11 +62,9 @@ public class CourseServiceImpl implements CourseService {
|
|
|
AuthUtils.checkDataAuth(user.getId(), course.getTeacher().getId(), "您无权修改该课程");
|
|
|
checkSameCourseName(course.getId(), user.getId(), courseDTO.getName());
|
|
|
|
|
|
- course.setName(courseDTO.getName())
|
|
|
+ return new CourseVO(courseDAO.save(course.setName(courseDTO.getName())
|
|
|
.setBio(courseDTO.getBio())
|
|
|
- .setCode(EncryptUtils.encode(courseDTO.getCode()));
|
|
|
- course = courseDAO.save(course);
|
|
|
- return new CourseVO(course);
|
|
|
+ .setCode(EncryptUtils.encode(courseDTO.getCode()))));
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -93,10 +89,9 @@ public class CourseServiceImpl implements CourseService {
|
|
|
throw HelperException.of(ExceptionType.NOT_FOUND, "选课码错误");
|
|
|
}
|
|
|
|
|
|
- Choose choose = new Choose()
|
|
|
+ chooseDAO.save(new Choose()
|
|
|
.setCourseId(courseId)
|
|
|
- .setStudentId(studentId);
|
|
|
- chooseDAO.save(choose);
|
|
|
+ .setStudentId(studentId));
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -113,23 +108,14 @@ public class CourseServiceImpl implements CourseService {
|
|
|
|
|
|
@Transactional(readOnly = true)
|
|
|
@Override
|
|
|
- public Page<CourseVO> getCourses(LoginUser user, String key, Pageable pageable) {
|
|
|
- switch (user.getType()) {
|
|
|
- case TEACHER:
|
|
|
- return teacherGetCourses(user.getId(), key, pageable);
|
|
|
- case STUDENT:
|
|
|
- return studentGetCourses(user.getId(), key, pageable);
|
|
|
- default:
|
|
|
- return Page.empty();
|
|
|
- }
|
|
|
+ public Page<CourseVO> getCreatedCourses(LoginUser user, String key, Pageable pageable) {
|
|
|
+ return findByTeacherIdAndKey(user.getId(), key, pageable).map(CourseVO::new);
|
|
|
}
|
|
|
|
|
|
- private Page<CourseVO> teacherGetCourses(Long teacherId, String key, Pageable pageable) {
|
|
|
- return findByTeacherIdAndKey(teacherId, key, pageable).map(CourseVO::new);
|
|
|
- }
|
|
|
-
|
|
|
- private Page<CourseVO> studentGetCourses(Long studentId, String key, Pageable pageable) {
|
|
|
- return findByIdsAndKey(chooseDAO.findCourseIdsByStudentId(studentId), key, pageable).map(CourseVO::new);
|
|
|
+ @Transactional(readOnly = true)
|
|
|
+ @Override
|
|
|
+ public Page<CourseVO> getChosenCourses(LoginUser user, String key, Pageable pageable) {
|
|
|
+ return findByIdsAndKey(chooseDAO.findCourseIdsByStudentId(user.getId()), key, pageable).map(CourseVO::new);
|
|
|
}
|
|
|
|
|
|
@Transactional(readOnly = true)
|