MusicGroupService.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package com.ym.mec.biz.service;
  2. import java.math.BigDecimal;
  3. import java.time.LocalDate;
  4. import java.util.Date;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Set;
  8. import com.ym.mec.auth.api.entity.SysUser;
  9. import com.ym.mec.biz.dal.dto.BasicUserDto;
  10. import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
  11. import com.ym.mec.biz.dal.dto.MusicCardDto;
  12. import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
  13. import com.ym.mec.biz.dal.entity.ApprovalStatus;
  14. import com.ym.mec.biz.dal.entity.MusicGroup;
  15. import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
  16. import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
  17. import com.ym.mec.common.page.PageInfo;
  18. import com.ym.mec.common.page.QueryInfo;
  19. import com.ym.mec.common.service.BaseService;
  20. import org.apache.ibatis.annotations.Param;
  21. public interface MusicGroupService extends BaseService<String, MusicGroup> {
  22. /**
  23. * 建团申请数据提交
  24. * @param subFeeSettingDto
  25. * @Author superzou
  26. */
  27. String createGroup(SubFeeSettingDto subFeeSettingDto, Integer userId);
  28. /**
  29. * 获取学生所在乐团详情
  30. * @return
  31. */
  32. List<MusicCardDto> queryUserMusicGroups(Integer userId);
  33. /**
  34. * 获取个人中心乐团数据
  35. * @param id
  36. * @return
  37. */
  38. MusicCardDto queryPersonalMusicGroups(Integer id);
  39. /**
  40. * 根据学员编号获取相关老师列表
  41. * @param studentId
  42. * @return
  43. */
  44. List<BasicUserDto> findTeachersByStuId(Integer studentId);
  45. /**
  46. * 取消乐团
  47. * @param musicGroupId 乐团编号
  48. */
  49. boolean cancelMusicGroup(String musicGroupId);
  50. /**
  51. * 暂停乐团
  52. * @param musicGroupId 乐团编号
  53. */
  54. boolean pauseMusicGroup(String musicGroupId);
  55. /**
  56. * 恢复乐团
  57. * @param musicGroupId 乐团编号
  58. */
  59. boolean resumeMusicGroup(String musicGroupId);
  60. /**
  61. * 延长缴费
  62. * @param musicGroupId 乐团编号
  63. * @param expireDate 延长缴费的截止日期
  64. * @return
  65. */
  66. boolean extensionPayment(String musicGroupId, Date expireDate);
  67. /**
  68. * 申请退团
  69. * @param musicGroupId 乐团编号
  70. * @param sysUser 用户
  71. * @return
  72. */
  73. boolean applyQuitMusicGroup(String musicGroupId, SysUser sysUser);
  74. /**
  75. * 审批退团
  76. * @param id
  77. * @param status
  78. * @param reason
  79. * @return
  80. */
  81. boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason);
  82. /**
  83. * 一键退团
  84. * @param musicGroupId
  85. * @param userId
  86. * @param reason
  87. * @return
  88. */
  89. boolean directQuitMusicGroup(String musicGroupId, Integer userId, String reason);
  90. /**
  91. * 续费
  92. * @param musicGroupId 乐团编号
  93. * @param userId 用户编号
  94. * @return
  95. */
  96. Map renew(String musicGroupId, Integer userId);
  97. /**
  98. * 学生支付订单
  99. * @param studentPaymentOrder
  100. * @return
  101. */
  102. boolean renewForCallback(StudentPaymentOrder studentPaymentOrder);
  103. /**
  104. * 课酬调整
  105. * @param courseScheduleId 课程编号
  106. * @param teacherId 老师编号
  107. * @param salary 老师薪水
  108. * @param subsidy 老师补贴
  109. * @param scope 范围(one,all)
  110. * @return
  111. */
  112. boolean updateTeacherCoursesSalary(Long courseScheduleId, Integer teacherId, BigDecimal salary, BigDecimal subsidy, String scope);
  113. /**
  114. * 获取乐团列表
  115. * @param queryInfo
  116. * @return
  117. */
  118. PageInfo<MusicGroup> queryMusicGroupPage(MusicGroupQueryInfo queryInfo);
  119. /**
  120. * 修改乐团基本信息
  121. * @param subFeeSettingDto
  122. */
  123. void updateBaseInfo(SubFeeSettingDto subFeeSettingDto) throws Exception;
  124. /**
  125. * 获取修改乐团时的基本信息数据
  126. * @param musicGroupId
  127. * @return
  128. */
  129. SubFeeSettingDto findMusicGroupBasicInfo(String musicGroupId);
  130. /**
  131. * 获取乐团列表
  132. * @param musicGroupIds
  133. * @return
  134. */
  135. List<MusicGroup> queryListByIds(Set<String> musicGroupIds);
  136. /**
  137. * 乐团详情--课酬调整--课程教师列表
  138. * @param courseScheduleId
  139. * @return
  140. */
  141. List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId);
  142. /**
  143. * 开启缴费
  144. * @param musicGroupId
  145. * @return
  146. */
  147. MusicGroup openPay(String musicGroupId, String expireDate);
  148. /**
  149. * 获取乐团详情
  150. * @param musicGroupId
  151. * @return
  152. */
  153. MusicGroup getMusicGroupDetail(String musicGroupId);
  154. }