| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.nju.edu.eval.service.serviceImpl;
- import com.nju.edu.eval.data.dao.CourseDao;
- import com.nju.edu.eval.data.dao.UserDao;
- import com.nju.edu.eval.data.entity.Course;
- import com.nju.edu.eval.data.entity.User;
- import com.nju.edu.eval.exception.MyServiceException;
- import com.nju.edu.eval.model.vo.course.CourseVO;
- import com.nju.edu.eval.service.CourseService;
- import com.nju.edu.eval.service.convertor.CourseConvertor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @author weijin
- */
- @Service
- public class CourseServiceImpl implements CourseService {
- private final CourseDao courseDao;
- private final UserDao userDao;
- @Autowired
- public CourseServiceImpl(CourseDao courseDao, UserDao userDao) {
- this.courseDao = courseDao;
- this.userDao = userDao;
- }
- @Override
- public CourseVO createCourse(CourseVO courseVO, Integer teacherId) {
- Course course = new Course(courseVO.getName(), courseVO.getCode(), teacherId, courseVO.getIsPublic()?1:0);
- courseDao.save(course);
- courseVO.setId(course.getId());
- return courseVO;
- }
- @Override
- public boolean updateCourse(CourseVO courseVO, Integer teacherId) {
- Course course = courseDao.findById(courseVO.getId()).orElse(null);
- if (course == null) {
- throw new MyServiceException("A0201", "无对应的课程");
- }
- else if (!teacherId.equals(course.getTeacherId())) {
- throw new MyServiceException("A0301", "访问未授权");
- } else {
- Course course1 = CourseConvertor.convertToEntity(courseVO);
- course1.setTeacherId(course.getTeacherId());
- courseDao.save(course1);
- return true;
- }
- }
- @Override
- public List<CourseVO> getCourseByTeacher(Integer teacherId) {
- User user = userDao.findById(teacherId).orElse(null);
- if (user == null) {
- throw new MyServiceException("A0201", "用户账号不存在");
- } else {
- return courseDao.findAllByTeacherId(teacherId).stream()
- .map(CourseConvertor::convertToVO).collect(Collectors.toList());
- }
- }
- }
|