44323
2023-11-27 aa925d851857f50eff0556411366690d9a78a0e5
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
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;
 
/**
 * <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, String lon, String lat);
 
 
    ResultUtil ContinuationOrpaymentCourse(Integer userIdFormRedis, ClasspaymentRequest request);
 
    /**
     * 查询学员的课包上课记录
     *
     * @param stuId
     * @param appUserId
     * @return
     */
    List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId, Integer pageNum);
 
    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) throws ParseException;
 
 
    void updateUseTime(Long id, Date date);
 
    List<Integer> getStudentIds(Long payId, Integer classId, Integer appId);
 
    boolean updateHoursById(TCoursePackagePayment byId, int i);
 
 
    List<CoursePackagePaymentVO> listAll(CoursePackagePaymentQuery query);
 
    int changeState(CoursePackagePayDTO dto);
 
    void updateBytime(TCoursePackagePayment coursePackagePayment);
 
    List<RegisterOrderVO> listAllRegister(RegisterOrderQuery query);
 
    List<Map<String, Object>> getStudentTotal(StudentQeryDto studentQeryDto);
 
    List<Map<String, Object>> bypac(PacQueryDto pacQueryDto);
 
    List<TCoursePackagePayment> listOne(List<Integer> ids);
 
    Integer listStoreId(String code);
}