| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414 |
- package com.ym.mec.biz.service;
- import com.ym.mec.biz.dal.dto.*;
- import com.ym.mec.biz.dal.entity.PracticeGroup;
- import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
- import com.ym.mec.biz.dal.enums.PracticeGroupType;
- import com.ym.mec.biz.dal.page.PracticeGroupQueryInfo;
- import com.ym.mec.biz.dal.page.StudentBuyPracticeQueryInfo;
- import com.ym.mec.biz.dal.page.StudentQueryInfo;
- import com.ym.mec.common.entity.HttpResponseResult;
- import com.ym.mec.common.page.PageInfo;
- import com.ym.mec.common.service.BaseService;
- import java.math.BigDecimal;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
- /**
- * @describe 获取学生的陪练课
- * @author Joburgess
- * @date 2020/2/3
- * @param userId:
- * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
- */
- List<CourseScheduleDto> findUserPracticeCourses(Integer userId);
- /**
- * @describe 检测用户是否能够申请免费陪练课
- * @author Joburgess
- * @date 2020/2/22
- * @param userId:
- * @return java.util.Map<java.lang.String,java.lang.Object>
- */
- Map<String,Object> checkCanApplyFreePracticeGroup(Integer userId);
- /**
- * 给学生指派老师
- * @param practiceGroup: 申请参数
- * @return
- */
- Integer searchTeacherId(PracticeGroup practiceGroup);
- /**
- * @describe 给广州分部的学生指派老师
- * @author Joburgess
- * @date 2020/2/4
- * @param practiceGroup:
- * @return java.lang.Integer
- */
- Integer searchTeacherIdForGuangZhou(PracticeGroup practiceGroup);
- /**
- * @describe 获取陪练课预约参数
- * @author Joburgess
- * @date 2020/1/31
- * @param userId: 用户编号
- * @return java.util.Map
- */
- Map getPracticeApplyParams(Integer userId);
- /**
- * @describe 获取陪练课可预约声部
- * @author Joburgess
- * @date 2020/3/5
- * @param :
- * @return com.ym.mec.common.entity.HttpResponseResult
- */
- Object getPracticeApplySubjects();
- /**
- * @describe 获取可以预约的教师
- * @author Joburgess
- * @date 2020/2/9
- * @param userId: 用户编号
- * @param subjectId: 声部编号
- * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
- */
- List<SimpleUserDto> getEnableApplyTeachers(Integer userId, Integer subjectId);
- /**
- * @describe 获取指定教师的空闲时间
- * @author Joburgess
- * @date 2020/2/10
- * @param userId: 用户编号
- * @param teacherId: 教师编号
- * @param firstClassTime: 第一节课开始时间
- * @return java.util.Map
- */
- Map getTeacherFreeTimes(Integer userId, Integer teacherId, Date firstClassTime);
- /**
- * @describe 获取指定学员所在分部下的教师空闲时间
- * @author Joburgess
- * @date 2020/2/2
- * @param userId: 用户编号
- * @param subjectId: 声部编号
- * @param firstClassTime: 第一节课开始时间
- * @return java.util.Map
- */
- Map getTeachersFreeTimes(Integer userId, Integer subjectId, Date firstClassTime);
- /**
- * @describe 获取指定日期内课一预约课程的时间
- * @author Joburgess
- * @date 2020/2/2
- * @param startDay: 天数
- * @param endDay: 天数
- * @return java.util.Map
- */
- List<Date> getEnableApplyDates(Date startDay,Date endDay);
- List<Date> getEnableApplyDatesIncludeAllTimes(Date startDay,Date endDay);
- /**
- * @describe 陪练课预约
- * @author Joburgess
- * @date 2020/1/31
- * @param practiceGroup: 预约信息
- * @return java.util.Map
- */
- Map practiceApply(PracticeGroup practiceGroup);
- /**
- * 获取陪练课列表
- * @param queryInfo
- * @return
- */
- PageInfo<PracticeGroupDto> findPracticeGroups(PracticeGroupQueryInfo queryInfo);
- /**
- * @description: 获取学员可购买的网管课列表
- * @param params
- * @return java.util.List<com.ym.mec.biz.dal.dto.StudentVipGroupShowListDto>
- * @author zx
- * @date 2021/10/12 14:56
- */
- List<StudentVipGroupShowListDto> findPracticeGroups(Map<String, Object> params);
- /**
- * 获取陪练课课程计划
- * @param queryInfo
- * @return
- */
- Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo);
- /**
- * @describe 获取学生上一次购买的记录
- * @author Joburgess
- * @date 2020/2/18
- * @param userId:
- * @return com.ym.mec.biz.dal.entity.PracticeGroup
- */
- PracticeGroup findUserLatestPracticeGroup(Integer userId, Long groupId);
- /**
- * @describe 获取陪练课预约参数——付费
- * @author Joburgess
- * @date 2020/1/31
- * @param userId: 用户编号
- * @return java.util.Map
- */
- Map getPayPracticeApplyParams(Integer userId, Integer organId);
- /**
- * @describe 获取可以预约的教师——付费
- * @author Joburgess
- * @date 2020/2/9
- * @param userId: 用户编号
- * @param subjectId: 声部编号
- * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
- */
- List<SimpleUserDto> getEnableApplyTeachersWithPay(Integer userId, Integer subjectId);
- /**
- * @describe 获取指定教师的空闲时间——付费
- * @author Joburgess
- * @date 2020/2/10
- * @param userId: 用户编号
- * @param teacherId: 教师编号
- * @param firstClassTime: 第一节课开始时间
- * @param buyMonths: 购买月数
- * @return java.util.Map
- */
- Map getPayPracticeTeacherFreeTimes(Integer userId, Integer teacherId, Integer buyMonths, boolean renew, Long groupId);
- /**
- * @describe 获取一周内可以预约课程的时间——付费
- * @author Joburgess
- * @date 2020/2/2
- * @return java.util.Map
- */
- Map<Integer, List<String>> getEnableApplyDatesWithWeek();
- /**
- * @describe 陪练课购买
- * @author Joburgess
- * @date 2020/2/17
- * @param practiceGroupBuyParams: 购买参数
- * @return void
- */
- HttpResponseResult buyPracticeGroup(PracticeGroupBuyDto practiceGroupBuyParams);
- /**
- * @describe 创建关心包课程
- * @author Joburgess
- * @date 2021/1/28 0028
- * @param practiceGroupBuyParams:
- * @param operatorInfo:
- * @return com.ym.mec.common.entity.HttpResponseResult
- */
- HttpResponseResult createPackagePracticeGroup(PracticeGroupBuyDto practiceGroupBuyParams);
- /**
- * @describe 支付订单回调
- * @author Joburgess
- * @date 2020/2/17
- * @param order: 支付订单
- * @return void
- */
- void orderCallback(StudentPaymentOrder order);
- /**
- * @description: 活动购买支付订单回调
- * @param order
- * @return void
- * @author zx
- * @date 2021/10/13 19:52
- */
- void activityOrderCallback(StudentPaymentOrder order);
- /**
- * @describe 获取用户历史购买的陪练课
- * @author Joburgess
- * @date 2020/2/18
- * @param userId:
- * @return java.util.List<com.ym.mec.biz.dal.dto.PracticeCourseDto>
- */
- List<PracticeCourseDto> findUserHistoryBuyPracticeGroups(Integer userId, Long groupId, PracticeGroupType type);
- /**
- * @describe 查询订单信息
- * @author Joburgess
- * @date 2020/2/18
- * @param orderNo: 订单编号
- * @return com.ym.mec.biz.dal.dto.PracticeBuyResultDto
- */
- PracticeBuyResultDto queryOrderInfo(String orderNo);
- /**
- * @describe
- * @author Joburgess
- * @date 2020/2/21
- * @param practiceGroupId:
- * @return com.ym.mec.common.entity.HttpResponseResult
- */
- HttpResponseResult repay(Integer userId,Integer practiceGroupId, boolean useBalancePayment) throws Exception;
- /**
- * @describe 更新历史陪练课程组状态
- * @author Joburgess
- * @date 2020/2/23
- * @param :
- * @return void
- */
- void updateHistoryPracticeGroupStatus();
- /**
- * @describe 获取用户待支付的课程组订单
- * @author Joburgess
- * @date 2020/2/26
- * @param userId:
- * @return java.util.Map<java.lang.String,java.lang.Object>
- */
- Map<String, Object> checkExistWaitPayOrder(Integer userId, Long groupId);
- /**
- * @describe 取消待支付的订单
- * @author Joburgess
- * @date 2020/2/26
- * @param userId: 用户编号
- * @param groupId:
- * @return void
- */
- HttpResponseResult cancelWaitPayOrder(Integer userId, Integer groupId);
- /**
- * @describe 推送练习报告
- * @author Joburgess
- * @date 2020/2/28
- * @param expiredDate: 报告的截至时间
- * @param pushType: 推送类型:JIGUANG、SMS、ALL
- * @return void
- */
- void pushStudyReport(Date expiredDate,String pushType);
- /**
- * 获取陪练课列表
- * @param queryInfo
- * @return
- */
- PageInfo<PracticeGroupDto> findPracticeGroupReviews(PracticeGroupQueryInfo queryInfo);
- /**
- * 购买过网管课的学员列表
- * @param queryInfo
- * @return
- */
- PageInfo<StudentBuyPracticeDto> studentBuys(StudentBuyPracticeQueryInfo queryInfo);
- /**
- * @describe 获取转化失败的学员列表
- * @author Joburgess
- * @date 2020/4/23
- * @param queryInfo:
- * @return com.ym.mec.common.page.PageInfo<com.ym.mec.biz.dal.dto.SimpleUserDto>
- */
- PageInfo<SimpleUserDto> findConvertDefeatStudents(StudentQueryInfo queryInfo);
- /**
- * 修改网管课备注
- * @param groupId
- * @param memo
- */
- void updateMemo(Long groupId, String memo);
-
- /**
- * 用户是否购买网管课
- * @param userId
- * @return
- */
- boolean isPurchasedPracticeCourse(Integer userId);
- /**
- * @describe 网管课续费提醒
- * @author Joburgess
- * @date 2020.05.29
- * @return void
- */
- void practiceGroupRenewRemind();
- Map countPracticeGroupPredictFee(PracticeGroupApplyBaseInfoDto practice, Integer userId);
- Map<String, BigDecimal> countPracticeGroupPredictFee1(PracticeGroup practice, Integer userId);
- /**
- * @description: 网管课申请
- * @param practiceGroupApplyDto
- * @return java.lang.Object
- * @author zx
- * @date 2021/10/8 12:22
- */
- Object createPracticeGroup(PracticeGroupApplyDto practiceGroupApplyDto);
- /**
- * @description: 创建网管课
- * @param practiceGroupApplyDto
- * @return java.lang.Object
- * @author zx
- * @date 2021/10/11 19:17
- */
- Object createActivityPracticeGroup(PracticeGroupApplyDto practiceGroupApplyDto);
- /**
- * @description: 购买指导老师创建的网管课
- * @param practiceGroupBuyParams
- * @return java.lang.Object
- * @author zx
- * @date 2021/10/12 18:09
- */
- HttpResponseResult buyTeacherPracticeGroup(PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception;
- /**
- * @description: 营销活动网管课购买
- * @param practiceGroupBuyParams
- * @return com.ym.mec.common.entity.HttpResponseResult
- * @author zx
- * @date 2021/10/13 15:12
- */
- Object buyActivityPracticeGroup(PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception;
- /**
- * @description: 获取学生端网管课购买详情
- * @param groupId
- * @return com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto
- * @author zx
- * @date 2021/10/15 14:35
- */
- StudentVipGroupDetailDto getPracticeGroupDetail(Long groupId);
- /**
- * @description: 获取老师开启的网管课的数量
- * @param teacherId
- * @return java.lang.Integer
- * @author zx
- * @date 2021/10/15 14:43
- */
- Integer countTeacherPracticeGroups(Integer teacherId);
- Object getPracticeGroupPayInfo(Long practiceGroupId, Integer userId);
- /**
- * @description: 获取学生指定网管课的剩余课时费用
- * @param practiceGroupId
- * @return java.lang.Object
- * @author zx
- * @date 2021/11/2 18:07
- */
- Map<String,BigDecimal> getStudentSurplusCourseFee(Long practiceGroupId);
- }
|