CourseService.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.njuzr.eaibackend.service;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.njuzr.eaibackend.controller.MyResponse;
  5. import com.njuzr.eaibackend.dto.course.CourseDTO;
  6. import com.njuzr.eaibackend.dto.course.CourseQueryDTO;
  7. import com.njuzr.eaibackend.dto.course.CourseUpdateDTO;
  8. import com.njuzr.eaibackend.dto.course.EnrollDTO;
  9. import com.njuzr.eaibackend.po.Course;
  10. import com.njuzr.eaibackend.po.MyUserDetails;
  11. import com.njuzr.eaibackend.po.User;
  12. import com.njuzr.eaibackend.vo.CourseVO;
  13. import com.njuzr.eaibackend.vo.UserVO;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. /**
  16. * @author: Leonezhurui
  17. * @Date: 2024/3/5 - 22:08
  18. * @Package: EAI-Backend
  19. */
  20. public interface CourseService {
  21. CourseVO createCourse(CourseDTO courseDTO);
  22. IPage<CourseVO> findCoursesPage(Page<Course> page, CourseQueryDTO courseQueryDTO);
  23. CourseVO updateCourse(Long userId, Long courseId, CourseUpdateDTO courseUpdateDTO);
  24. void deleteById(MyUserDetails role, Long courseId);
  25. void enroll(EnrollDTO enrollDTO);
  26. IPage<UserVO> getEnrollmentsByCourse(Page<User> page, Long teacherId, Long courseId);
  27. IPage<CourseVO> getEnrollmentsByStudent(Page<Course> page, Long studentId);
  28. String getEnrollCodeByCourseId(Long courseId);
  29. void dropCourse(Long studentId, Long courseId);
  30. }