package com.dsh.course.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.TCoursePackagePayment;
import com.dsh.course.feignclient.model.RecordAppoint;
import com.dsh.course.model.vo.RegisterCourseVo;
import com.dsh.course.model.vo.request.ClasspaymentRequest;
import com.dsh.course.model.vo.request.CourseOfAfterRequest;
import com.dsh.course.model.vo.request.CourseWithDetailsRequest;
import com.dsh.course.model.vo.request.UpdateCourseVideoStatusRequest;
import com.dsh.course.model.vo.response.AppUserVideoResponse;
import com.dsh.course.model.vo.response.CourseDetailsResponse;
import com.dsh.course.model.vo.response.CourseOfVideoResponse;
import com.dsh.course.util.ResultUtil;
import java.util.List;
/**
*
* 用户课程包购买记录 服务类
*
*
* @author administrator
* @since 2023-06-14
*/
public interface TCoursePackagePaymentService extends IService {
/**
* 获取课程购买人数
* @param coursePackageId
* @return
*/
Integer queryCountNumber(Integer coursePackageId);
/**
* 查询课包发布的课后视频列表
* @param search
* @param courseIds
* @return
*/
List queryAfterVideo(CourseOfAfterRequest search,List courseIds);
/**
* 获取课后视频详情
* @param detailsRequest
* @param appUserId
* @return
*/
CourseOfVideoResponse queryVideoDetails(CourseWithDetailsRequest detailsRequest,Integer appUserId);
/**
* 更新视频学习状态
* @param detailsRequest
* @param appUserId
* @return
*/
String updateVideoStatus(UpdateCourseVideoStatusRequest detailsRequest, Integer appUserId);
/**
* 获取用户已报名课程
* @param courseTypeId
* @param appUserId
* @return
*/
List queryRegisteredCourseList(CourseOfAfterRequest courseTypeId, Integer appUserId);
/**
* 获取已报名课包详情
* @param coursePayId
* @param appUserId
* @return
*/
CourseDetailsResponse queryRegisteredCourseDetails(Integer coursePayId, Integer appUserId);
ResultUtil ContinuationOrpaymentCourse(Integer userIdFormRedis, ClasspaymentRequest request);
/**
* 查询学员的课包上课记录
* @param stuId
* @param appUserId
* @return
*/
List obtainStuClassDetails(Integer stuId, Integer appUserId);
ResultUtil insertVipPaymentCallback(String code, String orderNumber);
}