| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package nju.seec.helper.service;
- import nju.seec.helper.aspect.auth.LoginUser;
- 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.Course;
- import nju.seec.helper.vo.CourseVO;
- import nju.seec.helper.vo.UserVO;
- import org.springframework.data.domain.Page;
- import org.springframework.data.domain.Pageable;
- /**
- * @author cst
- */
- public interface CourseService extends AuthService<Course> {
- /**
- * 创建课程
- *
- * @param teacher
- * @param courseDTO
- * @return
- */
- CourseVO createCourse(LoginUser teacher, CourseDTO courseDTO);
- /**
- * 修改课程
- *
- * @param user
- * @param courseId
- * @param courseDTO
- * @return
- */
- CourseVO modifyCourse(LoginUser user, Long courseId, CourseDTO courseDTO);
- /**
- * 修改课程知识点
- *
- * @param user
- * @param courseId
- * @param courseKnowledgeDTO
- */
- void modifyCourseKnowledgeId(LoginUser user, Long courseId, CourseKnowledgeDTO courseKnowledgeDTO);
- /**
- * 删除课程(伪删除)
- *
- * @param user
- * @param courseId
- */
- void deleteCourse(LoginUser user, Long courseId);
- /**
- * 学生选课
- *
- * @param student
- * @param courseId
- * @param chooseDTO
- */
- void chooseCourse(LoginUser student, Long courseId, ChooseDTO chooseDTO);
- /**
- * 退课
- *
- * @param user
- * @param courseId
- */
- void quitCourse(LoginUser user, Long courseId);
- /**
- * 获取课程列表(无需登录)
- *
- * @param key
- * @param pageable
- * @return
- */
- Page<CourseVO> getCourses(String key, Pageable pageable);
- /**
- * 获取创建课程列表
- *
- * @param user
- * @param key
- * @param pageable
- * @return
- */
- Page<CourseVO> getCreatedCourses(LoginUser user, String key, Pageable pageable);
- /**
- * 获取选课列表
- *
- * @param user
- * @param key
- * @param pageable
- * @return
- */
- Page<CourseVO> getChosenCourses(LoginUser user, String key, Pageable pageable);
- /**
- * 获取课程选课码
- *
- * @param user
- * @param courseId
- * @return
- */
- String getCourseCode(LoginUser user, Long courseId);
- /**
- * 取得某课程
- *
- * @param courseId
- * @return
- */
- CourseVO getOneCourse(Long courseId);
- /**
- * 获取选课名单
- *
- * @param user
- * @param courseId
- * @param key
- * @param pageable
- * @return
- */
- Page<UserVO> getChooseStudents(LoginUser user, Long courseId, String key, Pageable pageable);
- }
|