CourseService.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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.StudentCourseHomeworkVO;
  14. import com.njuzr.eaibackend.vo.UserVO;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. /**
  17. * @author: Leonezhurui
  18. * @Date: 2024/3/5 - 22:08
  19. * @Package: EAI-Backend
  20. */
  21. public interface CourseService {
  22. CourseVO createCourse(CourseDTO courseDTO);
  23. IPage<CourseVO> findCoursesPage(Page<Course> page, CourseQueryDTO courseQueryDTO);
  24. CourseVO updateCourse(Long userId, Long courseId, CourseUpdateDTO courseUpdateDTO);
  25. CourseVO updateCourseByPortal(Long userId, Long userPid, Long courseId, CourseUpdateDTO courseUpdateDTO);
  26. void deleteById(MyUserDetails role, Long courseId);
  27. // void enroll(EnrollDTO enrollDTO);
  28. // 通过班级码选课
  29. void enrollByClassCode(EnrollDTO enrollDTO);
  30. IPage<UserVO> getEnrollmentsByCourse(Page<User> page, Long teacherId, Long courseId);
  31. IPage<CourseVO> getEnrollmentsByStudent(Page<Course> page, Long studentId);
  32. String getEnrollCodeByCourseId(Long courseId);
  33. void dropCourse(Long studentId, Long courseId);
  34. // 添加新方法
  35. /**
  36. * 根据学生ID和课程ID查询该学生的课程作业情况
  37. * @param studentId 学生ID
  38. * @param courseId 课程ID
  39. * @return 学生课程作业情况
  40. */
  41. StudentCourseHomeworkVO getStudentCourseAssignments(Long studentId, Long courseId);
  42. }