|
|
@@ -6,6 +6,7 @@ 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.dto.course.CourseKnowledgeDTO;
|
|
|
import nju.seec.helper.entity.Choose;
|
|
|
import nju.seec.helper.entity.Course;
|
|
|
import nju.seec.helper.enums.ExceptionType;
|
|
|
@@ -39,14 +40,14 @@ public class CourseServiceImpl implements CourseService {
|
|
|
@Override
|
|
|
public CourseVO createCourse(LoginUser teacher, CourseDTO courseDTO) {
|
|
|
try {
|
|
|
- return new CourseVO(
|
|
|
- courseDAO.save(
|
|
|
- new Course()
|
|
|
- .setTeacher(userDAO.findUserById(teacher.getId()))
|
|
|
- .setName(courseDTO.getName())
|
|
|
- .setBio(courseDTO.getBio())
|
|
|
- .setCode(courseDTO.getCode()))
|
|
|
- );
|
|
|
+ Course course = new Course()
|
|
|
+ .setTeacher(userDAO.findUserById(teacher.getId()))
|
|
|
+ .setName(courseDTO.getName())
|
|
|
+ .setBio(courseDTO.getBio())
|
|
|
+ .setCode(courseDTO.getCode())
|
|
|
+ .setKnowledgeId(courseDTO.getKnowledgeId());
|
|
|
+
|
|
|
+ return new CourseVO(courseDAO.save(course));
|
|
|
} catch (DataIntegrityViolationException e) {
|
|
|
throw HelperException.of(ExceptionType.CONFLICT, "创建失败,请检查课程信息是否正确且不与已有课程冲突");
|
|
|
}
|
|
|
@@ -61,19 +62,31 @@ public class CourseServiceImpl implements CourseService {
|
|
|
throw HelperException.of(ExceptionType.FORBIDDEN, "您无权修改该课程");
|
|
|
}
|
|
|
|
|
|
+ course.setName(courseDTO.getName())
|
|
|
+ .setBio(courseDTO.getBio())
|
|
|
+ .setCode(courseDTO.getCode());
|
|
|
+
|
|
|
try {
|
|
|
- return new CourseVO(
|
|
|
- courseDAO.save(
|
|
|
- course.setName(courseDTO.getName())
|
|
|
- .setBio(courseDTO.getBio())
|
|
|
- .setCode(courseDTO.getCode())
|
|
|
- )
|
|
|
- );
|
|
|
+ return new CourseVO(courseDAO.save(course));
|
|
|
} catch (DataIntegrityViolationException e) {
|
|
|
throw HelperException.of(ExceptionType.CONFLICT, "修改失败,请检查课程信息是否正确且不与已有课程冲突");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void modifyCourseKnowledgeId(LoginUser user, Long courseId, CourseKnowledgeDTO courseKnowledgeDTO) {
|
|
|
+ Course course = courseDAO.findCourseById(courseId);
|
|
|
+
|
|
|
+ if (!existsUpdateAuth(user, course)) {
|
|
|
+ throw HelperException.of(ExceptionType.FORBIDDEN, "您无权修改该课程知识点");
|
|
|
+ }
|
|
|
+
|
|
|
+ course.setKnowledgeId(courseKnowledgeDTO.getKnowledgeId());
|
|
|
+
|
|
|
+ courseDAO.save(course);
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void deleteCourse(LoginUser user, Long courseId) {
|
|
|
@@ -100,11 +113,11 @@ public class CourseServiceImpl implements CourseService {
|
|
|
throw HelperException.of(ExceptionType.NOT_FOUND, "选课码错误");
|
|
|
}
|
|
|
|
|
|
- chooseDAO.save(
|
|
|
- new Choose()
|
|
|
- .setCourseId(courseId)
|
|
|
- .setStudentId(studentId)
|
|
|
- );
|
|
|
+ Choose choose = new Choose()
|
|
|
+ .setCourseId(courseId)
|
|
|
+ .setStudentId(studentId);
|
|
|
+
|
|
|
+ chooseDAO.save(choose);
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|