package com.njuzr.eaibackend.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njuzr.eaibackend.controller.MyResponse; import com.njuzr.eaibackend.dto.course.CourseDTO; import com.njuzr.eaibackend.dto.course.CourseQueryDTO; import com.njuzr.eaibackend.dto.course.CourseUpdateDTO; import com.njuzr.eaibackend.dto.course.EnrollDTO; import com.njuzr.eaibackend.po.Course; import com.njuzr.eaibackend.po.MyUserDetails; import com.njuzr.eaibackend.po.User; import com.njuzr.eaibackend.vo.CourseVO; import com.njuzr.eaibackend.vo.UserVO; import org.springframework.web.bind.annotation.RequestParam; /** * @author: Leonezhurui * @Date: 2024/3/5 - 22:08 * @Package: EAI-Backend */ public interface CourseService { CourseVO createCourse(CourseDTO courseDTO); IPage findCoursesPage(Page page, CourseQueryDTO courseQueryDTO); CourseVO updateCourse(Long userId, Long courseId, CourseUpdateDTO courseUpdateDTO); void deleteById(MyUserDetails role, Long courseId); void enroll(EnrollDTO enrollDTO); IPage getEnrollmentsByCourse(Page page, Long teacherId, Long courseId); IPage getEnrollmentsByStudent(Page page, Long studentId); String getEnrollCodeByCourseId(Long courseId); void dropCourse(Long studentId, Long courseId); }