CourseServiceImpl.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.nju.edu.eval.service.serviceImpl;
  2. import com.nju.edu.eval.data.dao.CourseDao;
  3. import com.nju.edu.eval.data.dao.UserDao;
  4. import com.nju.edu.eval.data.entity.Course;
  5. import com.nju.edu.eval.data.entity.User;
  6. import com.nju.edu.eval.exception.MyServiceException;
  7. import com.nju.edu.eval.model.vo.course.CourseVO;
  8. import com.nju.edu.eval.service.CourseService;
  9. import com.nju.edu.eval.service.convertor.CourseConvertor;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import java.util.List;
  13. import java.util.stream.Collectors;
  14. /**
  15. * @author weijin
  16. */
  17. @Service
  18. public class CourseServiceImpl implements CourseService {
  19. private final CourseDao courseDao;
  20. private final UserDao userDao;
  21. @Autowired
  22. public CourseServiceImpl(CourseDao courseDao, UserDao userDao) {
  23. this.courseDao = courseDao;
  24. this.userDao = userDao;
  25. }
  26. @Override
  27. public CourseVO createCourse(CourseVO courseVO, Integer teacherId) {
  28. Course course = new Course(courseVO.getName(), courseVO.getCode(), teacherId, courseVO.getIsPublic()?1:0);
  29. courseDao.save(course);
  30. courseVO.setId(course.getId());
  31. return courseVO;
  32. }
  33. @Override
  34. public boolean updateCourse(CourseVO courseVO, Integer teacherId) {
  35. Course course = courseDao.findById(courseVO.getId()).orElse(null);
  36. if (course == null) {
  37. throw new MyServiceException("A0201", "无对应的课程");
  38. }
  39. else if (!teacherId.equals(course.getTeacherId())) {
  40. throw new MyServiceException("A0301", "访问未授权");
  41. } else {
  42. Course course1 = CourseConvertor.convertToEntity(courseVO);
  43. course1.setTeacherId(course.getTeacherId());
  44. courseDao.save(course1);
  45. return true;
  46. }
  47. }
  48. @Override
  49. public List<CourseVO> getCourseByTeacher(Integer teacherId) {
  50. User user = userDao.findById(teacherId).orElse(null);
  51. if (user == null) {
  52. throw new MyServiceException("A0201", "用户账号不存在");
  53. } else {
  54. return courseDao.findAllByTeacherId(teacherId).stream()
  55. .map(CourseConvertor::convertToVO).collect(Collectors.toList());
  56. }
  57. }
  58. }