luoyisheng
2023-09-19 9c6740ce3038e1041979537ecbe7d801c21d0559
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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.TCoursePackagePayment;
import com.dsh.course.feignclient.model.RecordAppoint;
import com.dsh.course.model.QueryRegistrationRecord;
import com.dsh.course.model.QueryWalkInStudentList;
import com.dsh.course.model.BillingRequest;
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 java.util.Date;
import java.util.List;
import java.util.Map;
 
/**
 * <p>
 * 用户课程包购买记录 服务类
 * </p>
 *
 * @author administrator
 * @since 2023-06-14
 */
public interface TCoursePackagePaymentService extends IService<TCoursePackagePayment> {
 
 
 
    /**
     * 获取课程购买人数
     * @param coursePackageId
     * @return
     */
    Integer queryCountNumber(Integer coursePackageId);
 
    /**
     * 查询课包发布的课后视频列表
     * @param search
     * @param courseIds
     * @return
     */
    List<AppUserVideoResponse> queryAfterVideo(CourseOfAfterRequest search,List<Integer> 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<RegisterCourseVo> queryRegisteredCourseList(CourseOfAfterRequest courseTypeId, Integer appUserId);
 
    /**
     * 获取已报名课包详情
     * @param coursePayId
     * @param appUserId
     * @return
     */
    CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId);
 
 
 
    ResultUtil ContinuationOrpaymentCourse(Integer userIdFormRedis, ClasspaymentRequest request);
 
    /**
     * 查询学员的课包上课记录
     * @param stuId
     * @param appUserId
     * @return
     */
    List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId);
 
    ResultUtil insertVipPaymentCallback(String code, String orderNumber);
 
    List<BillingRequest> queryAmountDatas(Integer appUserId, String monthStart, String monthEnd);
 
 
    /**
     * 获取课包报名信息
     * @param page
     * @param queryRegistrationRecord
     * @return
     */
    List<Map<String, Object>> queryRegistrationRecord(Page<Map<String, Object>> page, QueryRegistrationRecord queryRegistrationRecord);
 
 
    /**
     * 获取未预约排课学员列表
     * @param page
     * @param queryWalkInStudentList
     * @return
     */
    List<Map<String, Object>> queryWalkInStudentList(Page<Map<String, Object>> page, QueryWalkInStudentList queryWalkInStudentList);
 
    List<PayCourseRes> getMyCourseList(Integer storeId, Integer appUserId);
 
 
    PayCourseInfoReq payCourseInfo(Integer courseId);
 
 
    ResultUtil payCourse(PayCourseReq req, Integer userId);
 
 
    void updateUseTime(Long id, Date date);
 
    List<Integer> getStudentIds(Integer payId);
}