package com.dsh.course.service;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.PacQueryDto;
import com.dsh.course.entity.TCoursePackagePayment;
import com.dsh.course.entity.dto.StudentQeryDto;
import com.dsh.course.feignclient.model.RecordAppoint;
import com.dsh.course.model.*;
import com.dsh.course.model.vo.RegisterCourseVo;
import com.dsh.course.model.vo.request.*;
import com.dsh.course.model.vo.response.*;
import com.dsh.course.util.ResultUtil;
import io.swagger.models.auth.In;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
* 用户课程包购买记录 服务类
*
*
* @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(Long coursePayId, Integer appUserId, String lon, String lat);
ResultUtil ContinuationOrpaymentCourse(Integer userId, ClasspaymentRequest request);
/**
* 查询学员的课包上课记录
*
* @param stuId
* @param appUserId
* @return
*/
List obtainStuClassDetails(Integer stuId, Integer appUserId, Integer pageNum);
ResultUtil insertVipPaymentCallback(String code, String orderNumber) throws Exception;
List queryAmountDatas(Integer appUserId, String monthStart, String monthEnd);
/**
* 获取课包报名信息
*
* @param page
* @param queryRegistrationRecord
* @return
*/
List