فهرست منبع

Merge branch 'online1' of http://git.dayaedu.com/yonge/mec into music_detail

 Conflicts:
	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
	mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
zouxuan 4 سال پیش
والد
کامیت
79bd77c9e4
100فایلهای تغییر یافته به همراه2839 افزوده شده و 180 حذف شده
  1. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherDao.java
  2. 20 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java
  3. 71 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  4. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java
  5. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
  6. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesDao.java
  7. 3 13
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java
  8. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java
  9. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberFeeSettingDao.java
  10. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberPrivilegesItemDao.java
  11. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankOrganizationFeeMapperDao.java
  12. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankPrivilegesDao.java
  13. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankSettingDao.java
  14. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
  15. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderCourseSettingsDao.java
  16. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderStudentDetailDao.java
  17. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentStudentCourseDetailDao.java
  18. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentStudentMemberCourseDetailDao.java
  19. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupSchoolTermCourseDetailDao.java
  20. 102 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupSchoolTermStudentCourseDetailDao.java
  21. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java
  22. 22 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java
  23. 32 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  24. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java
  25. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroupTeachersDto.java
  26. 38 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CloudTeacherOrderDto.java
  27. 32 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkStudentDetailDto.java
  28. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseTimeDto.java
  29. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExtraExerciseStudentsDto.java
  30. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MemberFeeDto.java
  31. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAuditDto.java
  32. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderDto.java
  33. 18 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupSubjectGoodsAndInfoDto.java
  34. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/RemainCourseTypeDurationDto.java
  35. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java
  36. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java
  37. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CloudTeacherOrder.java
  38. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java
  39. 50 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  40. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercises.java
  41. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercisesMessage.java
  42. 85 51
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java
  43. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java
  44. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/IndexBaseMonthData.java
  45. 114 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberFeeSetting.java
  46. 115 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberPrivilegesItem.java
  47. 121 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankOrganizationFeeMapper.java
  48. 37 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankPrivileges.java
  49. 156 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankSetting.java
  50. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  51. 63 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java
  52. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderDetail.java
  53. 26 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentStudentCourseDetail.java
  54. 115 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentStudentMemberCourseDetail.java
  55. 127 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupSchoolTermCourseDetail.java
  56. 114 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupSchoolTermStudentCourseDetail.java
  57. 97 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicMemberDto.java
  58. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java
  59. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseHomework.java
  60. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java
  61. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java
  62. 7 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CourseViewTypeEnum.java
  63. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupType.java
  64. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexDataType.java
  65. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java
  66. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  67. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/OrderTypeEnum.java
  68. 29 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PeriodEnum.java
  69. 30 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/CloudTeacherOrderQueryInfo.java
  70. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/EndCourseScheduleQueryInfo.java
  71. 93 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQuery.java
  72. 64 41
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java
  73. 17 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MemberPrivilegesItemQueryInfo.java
  74. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MemberRankFeeQueryInfo.java
  75. 55 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupQueryInfo.java
  76. 61 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicMemberQueryInfo.java
  77. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java
  78. 34 2
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  79. 24 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java
  80. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseReviewService.java
  81. 8 8
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  82. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java
  83. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesService.java
  84. 8 2
      mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java
  85. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/service/IndexErrDataRecordService.java
  86. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberFeeSettingService.java
  87. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberPrivilegesItemService.java
  88. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankOrganizationFeeMapperService.java
  89. 17 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankPrivilegesService.java
  90. 39 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java
  91. 3 10
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java
  92. 15 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java
  93. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupSchoolTermCourseDetailService.java
  94. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupSchoolTermStudentCourseDetailService.java
  95. 11 7
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  96. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java
  97. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentServeService.java
  98. 28 3
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java
  99. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  100. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/UploadFileService.java

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherDao.java

@@ -1,9 +1,12 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.CloudTeacher;
+import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 public interface CloudTeacherDao extends BaseDAO<Long, CloudTeacher> {
 
@@ -14,4 +17,5 @@ public interface CloudTeacherDao extends BaseDAO<Long, CloudTeacher> {
      * @return
      */
     CloudTeacher getByStudentId(@Param("studentId") Integer studentId);
+
 }

+ 20 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -1,12 +1,21 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
-import com.ym.mec.common.dal.BaseDAO;
+import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
+import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
+import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
+import com.ym.mec.common.dal.BaseDAO;
 
 public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
+	
+	/**
+	 * 根据studentPaymentOrder表id查询对象
+	 * @param orderId
+	 * @return
+	 */
+	CloudTeacherOrder queryByOrderId(Long orderId);
 
     /**
      * 获取未生效的云教练订单
@@ -30,5 +39,12 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
      * @param musicGroupId
      * @return
      */
-    CloudTeacherOrder getStudentCloudTeacherOrder(@Param("studentId") Integer studentId, @Param("musicGroupId") String musicGroupId);
+    List<CloudTeacherOrder> getStudentCloudTeacherOrder(@Param("studentId") Integer studentId, @Param("musicGroupId") String musicGroupId);
+    
+    /**
+     * 根据订单编号查询订单详情
+     * @param orderId
+     * @return
+     */
+    CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId);
 }

+ 71 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
@@ -9,7 +8,6 @@ import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
-
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -1107,7 +1105,17 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param classGroupIds
      * @return
      */
-    List<Map<Integer, Long>> countTotalNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds, @Param("classDate") Date classDate);
+    List<Map<Integer, Long>> countTotalNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds,
+                                                         @Param("classDate") Date classDate,
+                                                         @Param("preCourseFlag") Integer preCourseFlag);
+
+    /**
+     * 根据班级编号count预排课总课时
+     *
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, Long>> countPreTotalNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds);
 
     /**
      * 根据班级编号count总课时
@@ -1329,6 +1337,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> queryTeacherCourse(Map<String, Object> params);
+
     int countTeacherCourse(Map<String, Object> params);
 
     /**
@@ -1484,7 +1493,8 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author zouxuan
      */
     int batchUpdateLockByCourseIds(@Param("courseId") List<Long> courseId,
-                                   @Param("isLock") Integer isLock);
+                                   @Param("isLock") Integer isLock,
+                                   @Param("preCourseFlag") Integer preCourseFlag);
 
 
     /**
@@ -1689,15 +1699,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      */
     List<Map<Integer, Integer>> queryHasReatClass(@Param("classGroupIds") Set<String> classGroupIds, @Param("teacherId") String teacherId);
 
-
     /**
      * 查询班级未上的课程类型对应的时长
      *
      * @param classGroupIdList
      * @return
      */
-    List<RemainCourseTypeDurationDto> queryRemainCourseTypeDuration(String classGroupIdList);
-
+    List<RemainCourseTypeDurationDto> queryRemainCourseTypeDuration(@Param("classGroupIdList") String classGroupIdList, @Param("memberFlag") Integer memberFlag);
 
     /**
      * @return java.util.List<com.ym.mec.biz.dal.dto.CourseRepeatCheckDto>
@@ -1865,6 +1873,62 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> getBeMergeCourseWithMainCourseIds(@Param("courseIds") List<Long> courseIds);
 
     /**
+     * 删除乐团预排课课程
+     * @param musicGroupId
+     */
+    void deletePreCourse(String musicGroupId);
+
+    /**
+     * 获取预排课程列表
+     * @param musicGroupId
+     * @return
+     */
+    List<CourseSchedule> queryPreCourseListByMusicGroupId(String musicGroupId);
+
+    /**
+     * 获取预排课程列表
+     * @param classGroupIds
+     * @return
+     */
+    int queryPreCourseListByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
+
+    /**
+     * 获取预排课程列表
+     * @param classGroupId
+     * @return
+     */
+    List<CourseSchedule> queryPreCourseListByClassGroupId(Integer classGroupId);
+
+    /**
+     * 根据课程编号获取总时长
+     * @param courseScheduleIds
+     * @return
+     */
+    int sumCourseMinutes(@Param("courseScheduleIds") List<Long> courseScheduleIds);
+
+    /**
+     * 获取班级最小剩余可排课时长
+     * @param classGroupSet
+     * @return
+     */
+    List<Map<Integer, Long>> countPreSubMinutesByClassGroupId(@Param("classGroupSet") List<Integer> classGroupSet, @Param("courseDetailId") Integer courseDetailId);
+
+
+    /**
+     * 获取班级预排课时长
+     * @param classGroupSet
+     * @return
+     */
+    List<Map<Integer, BigDecimal>> countPreMinutesByClassGroupId(@Param("classGroupSet") List<Integer> classGroupSet);
+
+    /**
+     * 获取进行中或已结束的预排课课程
+     * @param musicGroupId
+     * @return
+     */
+    int queryOverPreCourseListByMusicGroupId(String musicGroupId);
+
+    /**
      * 获取课程时间列表
      * @param musicGroupTrainPlanSaveDto
      * @return

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -526,4 +526,10 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      * @return
      */
     String getStudentEduTeacher(@Param("studentId") Integer studentId);
+
+    /**
+     * 删除关联的预排课课程
+     * @param musicGroupId
+     */
+    void deletePreCourse(String musicGroupId);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -523,6 +523,14 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @return
 	 */
 	List<Map<Long, String>> queryTeacherIdMap(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("teacherRole") String teacherRole);
+	/**
+	 * 获取课程关联的教师列表
+	 * @zouxuan
+	 * @param courseScheduleIds
+	 * @param teacherRole
+	 * @return
+	 */
+	List<Map<Long, String>> queryTeacherNameMap(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("teacherRole") String teacherRole);
 
 	/**
 	 * @describe 获取指定时间段内已结算的教师课酬记录
@@ -568,4 +576,5 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 */
 	List<Integer> getTodayHasCourseTeacherIds();
 
+    void deletePreCourse(String musicGroupId);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesDao.java

@@ -39,6 +39,7 @@ public interface ExtracurricularExercisesDao extends BaseDAO<Long, Extracurricul
                                                                     @Param("musicGroupId") String musicGroupId,
                                                                     @Param("classGroupId") Long classGroupId,
                                                                     @Param("subjectId") Integer subjectId,
-                                                                    @Param("search") String search);
+                                                                    @Param("search") String search,
+                                                                    @Param("hasMember") Integer hasMember);
 
 }

+ 3 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -4,8 +4,8 @@ import com.ym.mec.biz.dal.dto.GoodsSellDto;
 import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
+import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -18,10 +18,10 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     /**
      * 通过科目编号查询商品(教材、辅件)列表
      *
-     * @param subjectId
+     * @param goodsQuery
      * @return
      */
-    List<Goods> findGoodsBySubId(@Param("subjectId") Integer subjectId, @Param("type") String type,@Param("organId")Integer organId);
+    List<Goods> findGoodsBySubId(@Param("goodsQuery") GoodsQuery goodsQuery);
 
     /**
      * 根据商品分类查找商品数量
@@ -150,10 +150,6 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
                                                                       @Param("courseViewType") Integer courseViewType,
                                                                       @Param("organId") Integer organId);
 
-    List<MusicGroupGoodsAndDiscountDto> getMusicGroupGoodsAndDiscountWithSubjects(@Param("subjectIds") String subjectIds,
-                                                                                  @Param("type") String type,
-                                                                                  @Param("organId") Integer organId);
-
     /**
      * 是否存在已上架的商品编号
      *
@@ -200,10 +196,4 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      */
     Integer getReplacementInstrumentCount(Map<String, Object> params);
 
-    /**
-     * 获取商品分部列表
-     * @param goodsIds
-     * @return
-     */
-    List<Map<Integer, String>> findGoodsOrganNames(@Param("goodsIds") List<Integer> goodsIds);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -289,6 +289,20 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
                                                             @Param("endDate") String endDate,
                                                             @Param("organIds") List<Integer> organIds);
 
+    List<IndexBaseMonthData> getTotalAmountDataWithTimelyDetails(@Param("startDate") String startDate,
+                                                                 @Param("endDate") String endDate,
+                                                                 @Param("organIds") List<Integer> organIds,
+                                                                 @Param("orderType") String orderType,
+                                                                 @Param("notOrderType") List<String> notOrderType);
+
+    List<IndexBaseMonthData> getVipAmountDataWithTimelyDetails(@Param("startDate") String startDate,
+                                                                 @Param("endDate") String endDate,
+                                                                 @Param("organIds") List<Integer> organIds);
+
+    List<IndexBaseMonthData> getOtherAmountDataWithTimelyDetails(@Param("startDate") String startDate,
+                                                                 @Param("endDate") String endDate,
+                                                                 @Param("organIds") List<Integer> organIds);
+
     int countStudentErrorLeave(@Param("organIdList") Set<Integer> organIdList, @Param("format") String format, @Param("classGroupIds") List<Long> classGroupIds);
 
     int countStudentErrorLeave1(Map<String, Object> params);

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberFeeSettingDao.java

@@ -0,0 +1,11 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.MemberFeeSetting;
+import org.apache.ibatis.annotations.Param;
+
+public interface MemberFeeSettingDao extends BaseDAO<Integer, MemberFeeSetting> {
+
+
+    MemberFeeSetting findByRankIdAndOrganId(@Param("organId") Integer organId, @Param("rankId") Integer rankId);
+}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberPrivilegesItemDao.java

@@ -0,0 +1,22 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface MemberPrivilegesItemDao extends BaseDAO<Integer, MemberPrivilegesItem> {
+
+
+    /**
+     * 获取所有功能列表
+     * @param parentId
+     * @return
+     */
+    List<MemberPrivilegesItem> findList(@Param("parentId") Integer parentId);
+
+    void batchDel(@Param("collect") List<Integer> collect);
+    
+    List<MemberPrivilegesItem> findById(List<Integer> idList);
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankOrganizationFeeMapperDao.java

@@ -0,0 +1,11 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
+import org.apache.ibatis.annotations.Param;
+
+public interface MemberRankOrganizationFeeMapperDao extends BaseDAO<Integer, MemberRankOrganizationFeeMapper> {
+
+
+    MemberRankOrganizationFeeMapper findByOrganIdAndRankId(@Param("organId") Integer organId, @Param("memberRankSettingId") Integer memberRankSettingId);
+}

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankPrivilegesDao.java

@@ -0,0 +1,24 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.MemberRankPrivileges;
+import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface MemberRankPrivilegesDao extends BaseDAO<Integer, MemberRankPrivileges>{
+
+
+    void batchInsert(@Param("memberRankSettingId") Integer memberRankSettingId, @Param("memberPrivilegesItemIdList") List<Integer> memberPrivilegesItemIdList);
+
+    List<MemberRankPrivileges> findByRankSettingId(Integer memberRankSettingId);
+
+    void deleteByRankSettingId(Integer memberRankSettingId);
+
+    /**
+     * 当前功能是否被会员使用
+     * @param parentId
+     * @return
+     */
+    boolean hasPrivileges(Integer parentId);
+}

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankSettingDao.java

@@ -0,0 +1,13 @@
+package com.ym.mec.biz.dal.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.ym.mec.biz.dal.entity.MemberRankSetting;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface MemberRankSettingDao extends BaseDAO<Integer, MemberRankSetting> {
+
+	List<MemberRankSetting> queryListByIsDefault(@Param("isDefault") Boolean isDefault);
+}

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicMemberDto;
 import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
@@ -436,4 +437,18 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     List<MusicGroupRegAndMoneyDto> getMusicGroupByStatus(@Param("organId") String organId, @Param("cooperationOrganIds") List<Integer> cooperationOrganIds, @Param("musicGroupName") String musicGroupName);
+
+    /**
+     * 获取乐团已经过期或者即将过期的学员列表
+     * @param params
+     * @return
+     */
+    int countMusicMemberList(Map<String, Object> params);
+
+    /**
+     * 获取乐团已经过期或者即将过期的学员列表
+     * @param params
+     * @return
+     */
+    List<MusicMemberDto> queryMusicMemberList(Map<String, Object> params);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderCourseSettingsDao.java

@@ -70,7 +70,7 @@ public interface MusicGroupPaymentCalenderCourseSettingsDao extends BaseDAO<Inte
 	 * @date 2020/10/30
 	 * @time 16:04
 	 */
-	List<MusicGroupPaymentCalenderCourseSettings> queryCalenderCourseSettings(Long calenderId);
+	List<MusicGroupPaymentCalenderCourseSettings> queryCalenderCourseSettings(@Param("calenderId") Long calenderId);
 
 	/**
 	 * @param calenderId:

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderStudentDetailDao.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderStudentDetail;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 public interface MusicGroupPaymentCalenderStudentDetailDao extends BaseDAO<Integer, MusicGroupPaymentCalenderStudentDetail> {
@@ -31,4 +32,16 @@ public interface MusicGroupPaymentCalenderStudentDetailDao extends BaseDAO<Integ
      * @param userId
      */
     List<MusicGroupPaymentCalenderStudentDetail>  findByBatchNoAndUserId(@Param("batchNo") String batchNo, @Param("userId") Integer userId);
+
+    /**
+     * 更新学员实际的缴费金额
+     * @param courseType
+     * @param batchNo
+     * @param studentIds
+     * @param courseCurrentPrice
+     */
+    void updateByCourseType(@Param("courseType") String courseType,
+                            @Param("batchNo") String batchNo,
+                            @Param("studentIds") List<Integer> studentIds,
+                            @Param("courseCurrentPrice") BigDecimal courseCurrentPrice);
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentStudentCourseDetailDao.java

@@ -101,4 +101,16 @@ public interface MusicGroupPaymentStudentCourseDetailDao extends BaseDAO<Long, M
      * @return
      */
     List<StudentSubTotalCourseTimesDto> queryStudentSubTotalCourseTimes(@Param("musicGroupId") String musicGroupId);
+
+    List<MusicGroupPaymentStudentCourseDetail> findByCalenderAndUserId(@Param("calenderId") Long calenderId, @Param("userId") Integer userId);
+
+    /**
+     * 更新学员实际缴费金额
+     * @param courseType
+     * @param musicGroupPaymentCalenderIds
+     * @param courseCurrentPrice
+     */
+    void updateByCourseType(@Param("courseType") String courseType,
+                            @Param("musicGroupPaymentCalenderIds") String musicGroupPaymentCalenderIds,
+                            @Param("courseCurrentPrice") BigDecimal courseCurrentPrice);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentStudentMemberCourseDetailDao.java

@@ -0,0 +1,7 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentMemberCourseDetail;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface MusicGroupPaymentStudentMemberCourseDetailDao extends BaseDAO<Long, MusicGroupPaymentStudentMemberCourseDetail> {
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupSchoolTermCourseDetailDao.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermStudentCourseDetail;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermCourseDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+
+public interface MusicGroupSchoolTermCourseDetailDao extends BaseDAO<Integer, MusicGroupSchoolTermCourseDetail> {
+
+
+    /**
+     * 获取所选时间乐团的预排课明细
+     * @param musicGroupId
+     * @param startCourseDate
+     * @return
+     */
+    MusicGroupSchoolTermCourseDetail findByCourseDateAndMusicGroupId(@Param("musicGroupId") String musicGroupId,
+                                                                     @Param("startCourseDate") Date startCourseDate,
+                                                                     @Param("courseFlag") Integer courseFlag);
+
+    /**
+     * 获取所选时间乐团的预排课明细
+     * @param musicGroupId
+     * @return
+     */
+    List<MusicGroupSchoolTermCourseDetail> findByMusicGroupId(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取所有未确认的预排课数据
+     * @return
+     */
+    List<MusicGroupSchoolTermCourseDetail> queryAllNoCourse();
+
+    /**
+     * 获取当前学期截止前14天的乐团,并提醒排课
+     * @param remindCourseTime
+     * @return
+     */
+    List<String> queryPushCourseTermMusicIds(String remindCourseTime);
+}

+ 102 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupSchoolTermStudentCourseDetailDao.java

@@ -0,0 +1,102 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermStudentCourseDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface MusicGroupSchoolTermStudentCourseDetailDao extends BaseDAO<Long, MusicGroupSchoolTermStudentCourseDetail> {
+
+
+    /**
+     * 初始化会员团学员排课详情
+     * @param studentCourseDetail
+     * @param studentIds
+     */
+    void init(@Param("studentCourseDetail") MusicGroupSchoolTermStudentCourseDetail studentCourseDetail, @Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 删除预排课计划
+     * @param courseDetailId
+     */
+    void deleteByDetailId(@Param("courseDetailId") Integer courseDetailId, @Param("studentId") Integer studentId);
+
+    /**
+     * 获取预排课计划
+     * @param courseDetailId
+     */
+    List<MusicGroupSchoolTermStudentCourseDetail> findByDetailId(Integer courseDetailId);
+
+    /**
+     * 获取所选学员最小可排课时长
+     * @param musicGroupSchoolTermCourseDetailId
+     * @param studentIds
+     * @return
+     */
+    int getMixCourseMinutes(@Param("courseDetailId") Integer musicGroupSchoolTermCourseDetailId, @Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 获取所选学员最大的已消耗的单技课时长
+     * @param musicGroupSchoolTermCourseDetailId
+     * @param studentIds
+     * @return
+     */
+    int getMaxSingleCourseMinutes(@Param("courseDetailId") Integer musicGroupSchoolTermCourseDetailId, @Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 获取所选学员最大的已消耗的合奏课时长
+     * @param musicGroupSchoolTermCourseDetailId
+     * @param studentIds
+     * @return
+     */
+    int getMaxMixCourseMinutes(@Param("courseDetailId") Integer musicGroupSchoolTermCourseDetailId, @Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 是否有学员课时没有消耗
+     * @param musicGroupSchoolTermCourseDetailId
+     * @return
+     */
+    String getNoCourseStudentName(Integer musicGroupSchoolTermCourseDetailId);
+
+    /**
+     * 更新学员排课时长
+     * @param musicGroupSchoolTermCourseDetailId
+     * @param preMemberCourseMinutes
+     * @param mixCourseMinutes
+     * @param singleCourseMinutes
+     * @param studentIds
+     */
+    void updateMinutes(@Param("musicGroupSchoolTermCourseDetailId") Integer musicGroupSchoolTermCourseDetailId,
+                       @Param("preMemberCourseMinutes") Integer preMemberCourseMinutes,
+                       @Param("mixCourseMinutes") Integer mixCourseMinutes,
+                       @Param("singleCourseMinutes") Integer singleCourseMinutes,
+                       @Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 更新学员排课时长
+     * @param musicGroupSchoolTermCourseDetailId
+     * @param preMemberCourseMinutes
+     * @param mixCourseMinutes
+     * @param singleCourseMinutes
+     */
+    void cutMinutes(@Param("musicGroupSchoolTermCourseDetailId") Integer musicGroupSchoolTermCourseDetailId,
+                       @Param("preMemberCourseMinutes") Integer preMemberCourseMinutes,
+                       @Param("mixCourseMinutes") Integer mixCourseMinutes,
+                       @Param("singleCourseMinutes") Integer singleCourseMinutes,
+                       @Param("studentId") Integer studentId);
+
+    /**
+     * 清空预排课
+     * @param musicGroupSchoolTermCourseDetailId
+     */
+    void cleanMinutes(Integer musicGroupSchoolTermCourseDetailId);
+
+    /**
+     * 获取学员预排课计划
+     * @param courseDetailId
+     * @param userId
+     * @return
+     */
+    MusicGroupSchoolTermStudentCourseDetailDao findByDetailIdAndStudentId(@Param("courseDetailId") Integer courseDetailId, @Param("userId") Integer userId);
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -54,7 +54,8 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * 构建初始学生作业提交记录
      */
     List<StudentCourseHomework> constructInitialStudentHomeworkRecordsWithPayment(@Param("courseScheduleID") Long courseScheduleID,
-                                                                                  @Param("courseHomeworkID") Long courseHomeworkID);
+                                                                                  @Param("courseHomeworkID") Long courseHomeworkID,
+                                                                                  @Param("musicScoreId") Integer musicScoreId);
 
     /**
      * @param courseScheduleId: 作业编号

+ 22 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -18,7 +18,7 @@ import java.util.Set;
 public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Student> {
 	
 	Student getLocked(Integer userId);
-
+	
     int lockUser(@Param("userId") Integer userId);
 
     List<Student> findByStudentIds(@Param("studentIds") List<Integer> studentIds);
@@ -223,4 +223,25 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
      * @return int
      */
     int updateNewStudentsToOld(@Param("userIds") List<Integer> userIds);
+
+    /**
+     * 获取有会员的学员列表
+     * @param studentIdsStr
+     * @return
+     */
+    int getMemberNum(@Param("studentIdsStr") String studentIdsStr);
+
+    /**
+     * 会员结束前15天提醒学员续费
+     * @param pushMemberRenew
+     * @return
+     */
+    List<Integer> queryPushMemberRenew(String pushMemberRenew);
+
+    /**
+     * 清空学员会员
+     */
+    void cleanStudentMember();
+
+    void cleanMember(Integer userId);
 }

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -285,6 +285,14 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     List<Map<String, Integer>> countNormalNum(String musicGroupIds);
 
     /**
+     * 获取乐团在读人数
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<Integer> queryNormalUserList(String musicGroupId);
+
+    /**
      * 获取学员基本信息
      *
      * @param mobile
@@ -587,6 +595,21 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     int getFirstPayNum(@Param("musicGroupId") String musicGroupId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
 
     /**
+     * 获取不在指定班级类型的学员列表
+     * @param musicGroupId
+     * @return
+     */
+    String getNotClassName(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 是否有其他会员收费团
+     * @param musicGroupId
+     * @param userId
+     * @return
+     */
+    boolean checkHasMemberGroup(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
+
+    /**
      * 获取报名缴费的相关人数
      *
      * @param musicGroupIds
@@ -600,4 +623,13 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     int countPayAndCheckNum(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取所有在会员团,但是没有会员,并且没有待生效的学员
+     * @param memberEndAutoQuitMusic
+     * @return
+     */
+    List<StudentRegistration> queryMemberEndAutoQuitMusic(@Param("memberEndAutoQuitMusic") String memberEndAutoQuitMusic,
+                                                          @Param("educationUserId") Integer educationUserId,
+                                                          @Param("organIds") String organIds);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java

@@ -40,6 +40,9 @@ public class ClassGroup4MixDto implements Cloneable{
     @ApiModelProperty(value = "排课次数", required = true)
     private Integer courseTimes;
 
+    @ApiModelProperty(value = "排课时长", required = true)
+    private Integer courseMinutes;
+
     @ApiModelProperty(value = "课程类型", required = true)
     private CourseSchedule.CourseScheduleType courseType;
 
@@ -73,6 +76,25 @@ public class ClassGroup4MixDto implements Cloneable{
     @ApiModelProperty(value = "确认生成课程")
     private Boolean confirmGenerate;
 
+    @ApiModelProperty(value = "预排课学期编号")
+    private Integer musicGroupSchoolTermCourseDetailId;
+
+    public Integer getMusicGroupSchoolTermCourseDetailId() {
+        return musicGroupSchoolTermCourseDetailId;
+    }
+
+    public void setMusicGroupSchoolTermCourseDetailId(Integer musicGroupSchoolTermCourseDetailId) {
+        this.musicGroupSchoolTermCourseDetailId = musicGroupSchoolTermCourseDetailId;
+    }
+
+    public Integer getCourseMinutes() {
+        return courseMinutes;
+    }
+
+    public void setCourseMinutes(Integer courseMinutes) {
+        this.courseMinutes = courseMinutes;
+    }
+
     public Boolean getConfirmGenerate() {
         return confirmGenerate;
     }

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroupTeachersDto.java

@@ -21,6 +21,39 @@ public class ClassGroupTeachersDto extends ClassGroup {
 
 	private String bishopTeacherName;
 
+	/** 预排课时 */
+	private Integer preTotalClassTimes;
+
+	/** 剩余可排课时长 */
+	private Integer preSubMinutes;
+
+	/** 已排课时长 */
+	private Integer preMinutes;
+
+	public Integer getPreMinutes() {
+		return preMinutes;
+	}
+
+	public void setPreMinutes(Integer preMinutes) {
+		this.preMinutes = preMinutes;
+	}
+
+	public Integer getPreSubMinutes() {
+		return preSubMinutes;
+	}
+
+	public void setPreSubMinutes(Integer preSubMinutes) {
+		this.preSubMinutes = preSubMinutes;
+	}
+
+	public Integer getPreTotalClassTimes() {
+		return preTotalClassTimes;
+	}
+
+	public void setPreTotalClassTimes(Integer preTotalClassTimes) {
+		this.preTotalClassTimes = preTotalClassTimes;
+	}
+
 	public String getTeachingTeacherName() {
 		return teachingTeacherName;
 	}

+ 38 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CloudTeacherOrderDto.java

@@ -0,0 +1,38 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
+import com.ym.mec.biz.dal.entity.MemberRankSetting;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+
+public class CloudTeacherOrderDto {
+
+	private CloudTeacherOrder cloudTeacherOrder;
+	
+	private StudentPaymentOrder studentPaymentOrder;
+	
+	private MemberRankSetting memberRankSetting;
+
+	public CloudTeacherOrder getCloudTeacherOrder() {
+		return cloudTeacherOrder;
+	}
+
+	public void setCloudTeacherOrder(CloudTeacherOrder cloudTeacherOrder) {
+		this.cloudTeacherOrder = cloudTeacherOrder;
+	}
+
+	public StudentPaymentOrder getStudentPaymentOrder() {
+		return studentPaymentOrder;
+	}
+
+	public void setStudentPaymentOrder(StudentPaymentOrder studentPaymentOrder) {
+		this.studentPaymentOrder = studentPaymentOrder;
+	}
+
+	public MemberRankSetting getMemberRankSetting() {
+		return memberRankSetting;
+	}
+
+	public void setMemberRankSetting(MemberRankSetting memberRankSetting) {
+		this.memberRankSetting = memberRankSetting;
+	}
+}

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkStudentDetailDto.java

@@ -57,8 +57,40 @@ public class CourseHomeworkStudentDetailDto {
 
     private String teacherName;
 
+    @ApiModelProperty(value = "伴奏编号",required = false)
+    private Integer musicScoreId;
+
+    private String musicScoreName;
+
     private String type;
 
+    @ApiModelProperty(value = "是否有会员",required = false)
+    private Integer hasMember;
+
+    public Integer getHasMember() {
+        return hasMember;
+    }
+
+    public void setHasMember(Integer hasMember) {
+        this.hasMember = hasMember;
+    }
+
+    public Integer getMusicScoreId() {
+        return musicScoreId;
+    }
+
+    public void setMusicScoreId(Integer musicScoreId) {
+        this.musicScoreId = musicScoreId;
+    }
+
+    public String getMusicScoreName() {
+        return musicScoreName;
+    }
+
+    public void setMusicScoreName(String musicScoreName) {
+        this.musicScoreName = musicScoreName;
+    }
+
     public String getType() {
         return type;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseTimeDto.java

@@ -31,6 +31,9 @@ public class CourseTimeDto {
     @ApiModelProperty(value = "预计排课次数")
     private int expectCourseNum;
 
+    @ApiModelProperty(value = "预计排课时长")
+    private int expectCourseMinutes;
+
     @ApiModelProperty(value = "已生成课程数量")
     private int courseNum;
 
@@ -40,6 +43,14 @@ public class CourseTimeDto {
     @ApiModelProperty(value = "老师设置", required = true)
     private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;
 
+    public int getExpectCourseMinutes() {
+        return expectCourseMinutes;
+    }
+
+    public void setExpectCourseMinutes(int expectCourseMinutes) {
+        this.expectCourseMinutes = expectCourseMinutes;
+    }
+
     public List<ClassGroupTeacherMapper> getClassGroupTeacherMapperList() {
         return classGroupTeacherMapperList;
     }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExtraExerciseStudentsDto.java

@@ -17,6 +17,10 @@ public class ExtraExerciseStudentsDto extends ExtracurricularExercisesReply {
 
     private String teacherName;
 
+    private Integer musicScoreId;
+
+    private String musicScoreName;
+
     private String headUrl;
 
     private String title;
@@ -37,6 +41,22 @@ public class ExtraExerciseStudentsDto extends ExtracurricularExercisesReply {
 
     private String existVipCourseStr;
 
+    public Integer getMusicScoreId() {
+        return musicScoreId;
+    }
+
+    public void setMusicScoreId(Integer musicScoreId) {
+        this.musicScoreId = musicScoreId;
+    }
+
+    public String getMusicScoreName() {
+        return musicScoreName;
+    }
+
+    public void setMusicScoreName(String musicScoreName) {
+        this.musicScoreName = musicScoreName;
+    }
+
     public String getHeadUrl() {
         return headUrl;
     }

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MemberFeeDto.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.math.BigDecimal;
+
+public class MemberFeeDto {
+
+    private BigDecimal currentAmount;
+
+    private BigDecimal originalAmount;
+
+    public BigDecimal getCurrentAmount() {
+        return currentAmount;
+    }
+
+    public void setCurrentAmount(BigDecimal currentAmount) {
+        this.currentAmount = currentAmount;
+    }
+
+    public BigDecimal getOriginalAmount() {
+        return originalAmount;
+    }
+
+    public void setOriginalAmount(BigDecimal originalAmount) {
+        this.originalAmount = originalAmount;
+    }
+}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAuditDto.java

@@ -83,6 +83,28 @@ public class MusicGroupPaymentCalenderAuditDto {
     @ApiModelProperty(value = "是否赠送网管课",required = false)
     private Boolean isGiveMusicNetwork;
 
+    @ApiModelProperty(value = "会员原价",required = false)
+    private BigDecimal originalMemberPaymentAmount = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "会员现价",required = false)
+    private BigDecimal memberPaymentAmount = BigDecimal.ZERO;
+
+    public BigDecimal getOriginalMemberPaymentAmount() {
+        return originalMemberPaymentAmount;
+    }
+
+    public void setOriginalMemberPaymentAmount(BigDecimal originalMemberPaymentAmount) {
+        this.originalMemberPaymentAmount = originalMemberPaymentAmount;
+    }
+
+    public BigDecimal getMemberPaymentAmount() {
+        return memberPaymentAmount;
+    }
+
+    public void setMemberPaymentAmount(BigDecimal memberPaymentAmount) {
+        this.memberPaymentAmount = memberPaymentAmount;
+    }
+
     public Integer getMusicGroupOrganizationCourseSettingsId() {
         return musicGroupOrganizationCourseSettingsId;
     }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderDto.java

@@ -28,6 +28,7 @@ public class MusicGroupPaymentCalenderDto {
 
 	private Boolean isGiveMusicNetwork;
 
+	//进行中加学员时,用户选择加入的班级
 	private String attribute1;
 
 	private String attribute2;
@@ -42,6 +43,39 @@ public class MusicGroupPaymentCalenderDto {
 
 	private BigDecimal masterTotalPrice = BigDecimal.ZERO;
 
+	//会员有效期(月)
+	private Integer memberValidDate;
+
+	//会员申请付款金额
+	private BigDecimal memberPaymentAmount = BigDecimal.ZERO;
+
+	//会员等级编号
+	private Integer memberRankSettingId;
+
+	public Integer getMemberValidDate() {
+		return memberValidDate;
+	}
+
+	public void setMemberValidDate(Integer memberValidDate) {
+		this.memberValidDate = memberValidDate;
+	}
+
+	public BigDecimal getMemberPaymentAmount() {
+		return memberPaymentAmount;
+	}
+
+	public void setMemberPaymentAmount(BigDecimal memberPaymentAmount) {
+		this.memberPaymentAmount = memberPaymentAmount;
+	}
+
+	public Integer getMemberRankSettingId() {
+		return memberRankSettingId;
+	}
+
+	public void setMemberRankSettingId(Integer memberRankSettingId) {
+		this.memberRankSettingId = memberRankSettingId;
+	}
+
 	@ApiModelProperty(value = "跨团合并时缴费项目中学员的缴费明细")
 	private List<MusicGroupPaymentCalenderStudentDetail> musicGroupPaymentCalenderStudentDetails;
 

+ 18 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupSubjectGoodsAndInfoDto.java

@@ -1,12 +1,18 @@
 package com.ym.mec.biz.dal.dto;
 
-import com.ym.mec.biz.dal.entity.*;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
+
 /**
  * 乐团报名缴费相关信息
  */
@@ -38,6 +44,9 @@ public class MusicGroupSubjectGoodsAndInfoDto {
 
     @ApiModelProperty(value = "乐团云教练+价格",required = false)
     private BigDecimal cloudTeacherPlusFee;
+    
+    @ApiModelProperty(value = "会员权益",required = false)
+    private List<MemberPrivilegesItem> memberPrivilegesItemList;
 
     public Map getCourseScheduleInfo() {
         return CourseScheduleInfo;
@@ -110,4 +119,12 @@ public class MusicGroupSubjectGoodsAndInfoDto {
     public void setCloudTeacherPlusFee(BigDecimal cloudTeacherPlusFee) {
         this.cloudTeacherPlusFee = cloudTeacherPlusFee;
     }
+
+	public List<MemberPrivilegesItem> getMemberPrivilegesItemList() {
+		return memberPrivilegesItemList;
+	}
+
+	public void setMemberPrivilegesItemList(List<MemberPrivilegesItem> memberPrivilegesItemList) {
+		this.memberPrivilegesItemList = memberPrivilegesItemList;
+	}
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/RemainCourseTypeDurationDto.java

@@ -4,8 +4,10 @@ import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 
 public class RemainCourseTypeDurationDto {
 
+	//课程类型
 	private CourseScheduleType courseType;
-	
+
+	//剩余时长
 	private Integer remainMinutes;
 	
 	private Integer tempMergedCourseNum;

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -102,6 +102,18 @@ public class StudentManageListDto {
 
     private String cooperationOrganName;
 
+    private Integer memberRankSettingId;
+    
+    private Date membershipEndTime;
+
+    public Integer getMemberRankSettingId() {
+        return memberRankSettingId;
+    }
+
+    public void setMemberRankSettingId(Integer memberRankSettingId) {
+        this.memberRankSettingId = memberRankSettingId;
+    }
+
     public Integer getCooperationOrganId() {
         return cooperationOrganId;
     }
@@ -411,4 +423,12 @@ public class StudentManageListDto {
     public void setNoStartPracticeCourseNum(Integer noStartPracticeCourseNum) {
         this.noStartPracticeCourseNum = noStartPracticeCourseNum;
     }
+
+	public Date getMembershipEndTime() {
+		return membershipEndTime;
+	}
+
+	public void setMembershipEndTime(Date membershipEndTime) {
+		this.membershipEndTime = membershipEndTime;
+	}
 }

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -98,10 +99,32 @@ public class TeacherAttendanceDto {
     @ApiModelProperty(value = "是否已经发送过到课提醒:0否,1已发送")
     private int normalRemind;
 
+    @ApiModelProperty(value = "课程关联的有会员的学员数量")
+    private int memberNum;
+
+    @ApiModelProperty(value = "乐团收费方式")
+    private CourseViewTypeEnum courseViewType;
+
     private Integer enableStudentAttendanceTimeRange;
 
     private Integer enableStudentAttendanceTimeRangeVip;
 
+    public int getMemberNum() {
+        return memberNum;
+    }
+
+    public void setMemberNum(int memberNum) {
+        this.memberNum = memberNum;
+    }
+
+    public CourseViewTypeEnum getCourseViewType() {
+        return courseViewType;
+    }
+
+    public void setCourseViewType(CourseViewTypeEnum courseViewType) {
+        this.courseViewType = courseViewType;
+    }
+
     public CourseSchedule.CourseScheduleType getCourseType() {
         return courseType;
     }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CloudTeacherOrder.java

@@ -102,6 +102,8 @@ public class CloudTeacherOrder {
     private Date updateTime;
 
     private String musicGroupId;
+    
+    private StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
 
     public Long getId() {
         return id;
@@ -251,4 +253,12 @@ public class CloudTeacherOrder {
     public void setMusicGroupId(String musicGroupId) {
         this.musicGroupId = musicGroupId;
     }
+
+	public StudentPaymentOrder getStudentPaymentOrder() {
+		return studentPaymentOrder;
+	}
+
+	public void setStudentPaymentOrder(StudentPaymentOrder studentPaymentOrder) {
+		this.studentPaymentOrder = studentPaymentOrder;
+	}
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java

@@ -52,6 +52,17 @@ public class CourseHomework {
 	@ApiModelProperty(value = "预计完成人数",required = false)
 	private Integer expectNum;
 
+	@ApiModelProperty(value = "伴奏编号",required = false)
+	private Integer musicScoreId;
+
+	public Integer getMusicScoreId() {
+		return musicScoreId;
+	}
+
+	public void setMusicScoreId(Integer musicScoreId) {
+		this.musicScoreId = musicScoreId;
+	}
+
 	public Date getExpiryDate() {
 		return expiryDate;
 	}

+ 50 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -29,9 +29,12 @@ public class CourseSchedule {
 
 	public enum CourseScheduleType implements BaseEnum<String, CourseScheduleType> {
 
-		SINGLE("SINGLE", "声部课"), MIX("MIX", "合奏课"), HIGH("HIGH", "小班课"), VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), COMPREHENSIVE("COMPREHENSIVE", "综合课"), PRACTICE(
-				"PRACTICE", "网管课"), ENLIGHTENMENT("ENLIGHTENMENT", "启蒙课"), TRAINING_SINGLE("TRAINING_SINGLE", "集训声部课"), TRAINING_MIX("TRAINING_MIX", "集训合奏课"), CLASSROOM(
-				"CLASSROOM", "课堂课"),COMM("COMM","对外课程"),HIGH_ONLINE("HIGH_ONLINE","网络基础训练课"),MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课");
+		SINGLE("SINGLE", "声部课"), MIX("MIX", "合奏课"), HIGH("HIGH", "小班课"), VIP("VIP", "vip课"),
+		DEMO("DEMO", "试听课"), COMPREHENSIVE("COMPREHENSIVE", "综合课"), PRACTICE(
+				"PRACTICE", "网管课"), ENLIGHTENMENT("ENLIGHTENMENT", "启蒙课"), TRAINING_SINGLE("TRAINING_SINGLE", "集训声部课"),
+		TRAINING_MIX("TRAINING_MIX", "集训合奏课"), CLASSROOM(
+				"CLASSROOM", "课堂课"),COMM("COMM","对外课程"),HIGH_ONLINE("HIGH_ONLINE","网络基础训练课"),
+		MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课");
 
 		private String code;
 
@@ -173,6 +176,50 @@ public class CourseSchedule {
 
 	private int isSignOut = 3;
 
+	//是否是会员收费的排课
+	private Integer memberFlag = 0;
+
+	//是否是预排课
+	private Integer preCourseFlag = 0;
+
+	//课程调整不的超过该时间限制
+	private Date validStartTime;
+
+	//课程调整不的超过该时间限制
+	private Date validEndTime;
+
+	public Date getValidStartTime() {
+		return validStartTime;
+	}
+
+	public void setValidStartTime(Date validStartTime) {
+		this.validStartTime = validStartTime;
+	}
+
+	public Date getValidEndTime() {
+		return validEndTime;
+	}
+
+	public void setValidEndTime(Date validEndTime) {
+		this.validEndTime = validEndTime;
+	}
+
+	public Integer getPreCourseFlag() {
+		return preCourseFlag;
+	}
+
+	public void setPreCourseFlag(Integer preCourseFlag) {
+		this.preCourseFlag = preCourseFlag;
+	}
+
+	public Integer getMemberFlag() {
+		return memberFlag;
+	}
+
+	public void setMemberFlag(Integer memberFlag) {
+		this.memberFlag = memberFlag;
+	}
+
 	public String getTeachingTeacherNames() {
 		return teachingTeacherNames;
 	}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercises.java

@@ -58,6 +58,26 @@ public class ExtracurricularExercises {
 
 	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
 
+	private Integer musicScoreId;
+
+	private String musicScoreName;
+
+	public String getMusicScoreName() {
+		return musicScoreName;
+	}
+
+	public void setMusicScoreName(String musicScoreName) {
+		this.musicScoreName = musicScoreName;
+	}
+
+	public Integer getMusicScoreId() {
+		return musicScoreId;
+	}
+
+	public void setMusicScoreId(Integer musicScoreId) {
+		this.musicScoreId = musicScoreId;
+	}
+
 	public ImSendTypeEnum getMsgType() {
 		return msgType;
 	}

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercisesMessage.java

@@ -31,6 +31,8 @@ public class ExtracurricularExercisesMessage {
 
 	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
 
+	private Integer musicScoreId;
+
 	public ImSendTypeEnum getMsgType() {
 		return msgType;
 	}

+ 85 - 51
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -129,20 +129,35 @@ public class Goods {
 	@ApiModelProperty(value = "备查货号,进货渠道")
 	private String supplyChannel;
 
-	@ApiModelProperty(value = "客户端是否展示")
-	private YesOrNoEnum clientShow;
-	
-	@ApiModelProperty(value = "教务端是否展示")
-	private YesOrNoEnum educationalShow;
-	
-	@ApiModelProperty(value = "乐团是否展示")
-	private YesOrNoEnum musicGroupShow;
+	@ApiModelProperty(value = "客户端展示分部")
+	private String studentShowOrganId;
 
-	@ApiModelProperty(value = "乐团收费模式")
-	private String courseViewType;
+	@ApiModelProperty(value = "教务端展示分部")
+	private String educationShowOrganId;
 
-	@ApiModelProperty(value = "乐器置换是否展示")
-	private YesOrNoEnum replacementShow;
+	@ApiModelProperty(value = "课程收费团展示分部")
+	private String courseFeeShowOrganId;
+
+	@ApiModelProperty(value = "会员收费团展示分部")
+	private String memberFeeShowOrganId;
+
+	@ApiModelProperty(value = "乐器置换展示分部")
+	private String replacementShowOrganId;
+
+	@ApiModelProperty(value = "客户端展示分部")
+	private String studentShowOrganName;
+
+	@ApiModelProperty(value = "教务端展示分部")
+	private String educationShowOrganName;
+
+	@ApiModelProperty(value = "课程收费团展示分部")
+	private String courseFeeShowOrganName;
+
+	@ApiModelProperty(value = "会员收费团展示分部")
+	private String memberFeeShowOrganName;
+
+	@ApiModelProperty(value = "乐器置换展示分部")
+	private String replacementShowOrganName;
 
 	@ApiModelProperty(value = "库存类型")
 	private StockType stockType;
@@ -150,65 +165,92 @@ public class Goods {
 	@ApiModelProperty(value = "库存预警")
 	private YesOrNoEnum stockWarning;
 
-	@ApiModelProperty(value = "商品所属分部")
-	private String organIdList;
+	public String getStudentShowOrganId() {
+		return studentShowOrganId;
+	}
 
-	private String organName;
+	public void setStudentShowOrganId(String studentShowOrganId) {
+		this.studentShowOrganId = studentShowOrganId;
+	}
 
-	public String getOrganName() {
-		return organName;
+	public String getEducationShowOrganId() {
+		return educationShowOrganId;
 	}
 
-	public void setOrganName(String organName) {
-		this.organName = organName;
+	public void setEducationShowOrganId(String educationShowOrganId) {
+		this.educationShowOrganId = educationShowOrganId;
 	}
 
-	public String getOrganIdList() {
-		return organIdList;
+	public String getCourseFeeShowOrganId() {
+		return courseFeeShowOrganId;
 	}
 
-	public void setOrganIdList(String organIdList) {
-		this.organIdList = organIdList;
+	public void setCourseFeeShowOrganId(String courseFeeShowOrganId) {
+		this.courseFeeShowOrganId = courseFeeShowOrganId;
 	}
 
-	public String getCourseViewType() {
-		return courseViewType;
+	public String getMemberFeeShowOrganId() {
+		return memberFeeShowOrganId;
 	}
 
-	public void setCourseViewType(String courseViewType) {
-		this.courseViewType = courseViewType;
+	public void setMemberFeeShowOrganId(String memberFeeShowOrganId) {
+		this.memberFeeShowOrganId = memberFeeShowOrganId;
 	}
 
-	public YesOrNoEnum getStockWarning() {
-		return stockWarning;
+	public String getReplacementShowOrganId() {
+		return replacementShowOrganId;
 	}
 
-	public void setStockWarning(YesOrNoEnum stockWarning) {
-		this.stockWarning = stockWarning;
+	public void setReplacementShowOrganId(String replacementShowOrganId) {
+		this.replacementShowOrganId = replacementShowOrganId;
+	}
+
+	public String getStudentShowOrganName() {
+		return studentShowOrganName;
+	}
+
+	public void setStudentShowOrganName(String studentShowOrganName) {
+		this.studentShowOrganName = studentShowOrganName;
 	}
 
-	public YesOrNoEnum getClientShow() {
-		return clientShow;
+	public String getEducationShowOrganName() {
+		return educationShowOrganName;
 	}
 
-	public void setClientShow(YesOrNoEnum clientShow) {
-		this.clientShow = clientShow;
+	public void setEducationShowOrganName(String educationShowOrganName) {
+		this.educationShowOrganName = educationShowOrganName;
 	}
 
-	public YesOrNoEnum getEducationalShow() {
-		return educationalShow;
+	public String getCourseFeeShowOrganName() {
+		return courseFeeShowOrganName;
 	}
 
-	public void setEducationalShow(YesOrNoEnum educationalShow) {
-		this.educationalShow = educationalShow;
+	public void setCourseFeeShowOrganName(String courseFeeShowOrganName) {
+		this.courseFeeShowOrganName = courseFeeShowOrganName;
 	}
 
-	public YesOrNoEnum getMusicGroupShow() {
-		return musicGroupShow;
+	public String getMemberFeeShowOrganName() {
+		return memberFeeShowOrganName;
 	}
 
-	public void setMusicGroupShow(YesOrNoEnum musicGroupShow) {
-		this.musicGroupShow = musicGroupShow;
+	public void setMemberFeeShowOrganName(String memberFeeShowOrganName) {
+		this.memberFeeShowOrganName = memberFeeShowOrganName;
+	}
+
+	public String getReplacementShowOrganName() {
+		return replacementShowOrganName;
+	}
+
+	public void setReplacementShowOrganName(String replacementShowOrganName) {
+		this.replacementShowOrganName = replacementShowOrganName;
+	}
+
+	public YesOrNoEnum getStockWarning() {
+		return stockWarning;
+	}
+
+	public void setStockWarning(YesOrNoEnum stockWarning) {
+		this.stockWarning = stockWarning;
 	}
 
 	public StockType getStockType() {
@@ -463,12 +505,4 @@ public class Goods {
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
-
-	public YesOrNoEnum getReplacementShow() {
-		return replacementShow;
-	}
-
-	public void setReplacementShow(YesOrNoEnum replacementShow) {
-		this.replacementShow = replacementShow;
-	}
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java

@@ -29,7 +29,7 @@ public class ImGroupMember {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/IndexBaseMonthData.java

@@ -16,6 +16,9 @@ public class IndexBaseMonthData {
 	/**  */
 	private java.util.Date month;
 
+	/**  */
+	private String monthStr;
+
 	private String title;
 	
 	/** 分部编号 */
@@ -38,6 +41,14 @@ public class IndexBaseMonthData {
 
 	private Date updateTime;
 
+	public String getMonthStr() {
+		return monthStr;
+	}
+
+	public void setMonthStr(String monthStr) {
+		this.monthStr = monthStr;
+	}
+
 	public IndexBaseMonthData() {
 	}
 

+ 114 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberFeeSetting.java

@@ -0,0 +1,114 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(member_fee_setting):
+ */
+public class MemberFeeSetting {
+
+	/**  */
+	private Integer id;
+	
+	/**  */
+	private java.math.BigDecimal currentDayFee;
+	
+	/**  */
+	private java.math.BigDecimal originalDayFee;
+	
+	/**  */
+	private java.math.BigDecimal currentMonthFee;
+	
+	/**  */
+	private java.math.BigDecimal originalMonthFee;
+	
+	/**  */
+	private java.math.BigDecimal currentHalfYearFee;
+	
+	/**  */
+	private java.math.BigDecimal originalHalfYearFee;
+	
+	/**  */
+	private java.math.BigDecimal currentYearFee;
+	
+	/**  */
+	private java.math.BigDecimal originalYearFee;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setCurrentDayFee(java.math.BigDecimal currentDayFee){
+		this.currentDayFee = currentDayFee;
+	}
+	
+	public java.math.BigDecimal getCurrentDayFee(){
+		return this.currentDayFee;
+	}
+			
+	public void setOriginalDayFee(java.math.BigDecimal originalDayFee){
+		this.originalDayFee = originalDayFee;
+	}
+	
+	public java.math.BigDecimal getOriginalDayFee(){
+		return this.originalDayFee;
+	}
+			
+	public void setCurrentMonthFee(java.math.BigDecimal currentMonthFee){
+		this.currentMonthFee = currentMonthFee;
+	}
+	
+	public java.math.BigDecimal getCurrentMonthFee(){
+		return this.currentMonthFee;
+	}
+			
+	public void setOriginalMonthFee(java.math.BigDecimal originalMonthFee){
+		this.originalMonthFee = originalMonthFee;
+	}
+	
+	public java.math.BigDecimal getOriginalMonthFee(){
+		return this.originalMonthFee;
+	}
+			
+	public void setCurrentHalfYearFee(java.math.BigDecimal currentHalfYearFee){
+		this.currentHalfYearFee = currentHalfYearFee;
+	}
+	
+	public java.math.BigDecimal getCurrentHalfYearFee(){
+		return this.currentHalfYearFee;
+	}
+			
+	public void setOriginalHalfYearFee(java.math.BigDecimal originalHalfYearFee){
+		this.originalHalfYearFee = originalHalfYearFee;
+	}
+	
+	public java.math.BigDecimal getOriginalHalfYearFee(){
+		return this.originalHalfYearFee;
+	}
+			
+	public void setCurrentYearFee(java.math.BigDecimal currentYearFee){
+		this.currentYearFee = currentYearFee;
+	}
+	
+	public java.math.BigDecimal getCurrentYearFee(){
+		return this.currentYearFee;
+	}
+			
+	public void setOriginalYearFee(java.math.BigDecimal originalYearFee){
+		this.originalYearFee = originalYearFee;
+	}
+	
+	public java.math.BigDecimal getOriginalYearFee(){
+		return this.originalYearFee;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 115 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberPrivilegesItem.java

@@ -0,0 +1,115 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 对应数据库表(member_privileges_item):
+ */
+public class MemberPrivilegesItem {
+
+	/**  */
+	private Integer id;
+	
+	/** 名称 */
+	private String name;
+	
+	/** 描述 */
+	private String desc;
+	
+	/** 编码 */
+	private String code;
+
+	private String path;
+	
+	/**  */
+	private Integer parentId = 0;
+
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	private List<MemberPrivilegesItem> memberPrivilegesItems = new ArrayList<MemberPrivilegesItem>();
+
+	public String getPath() {
+		return path;
+	}
+
+	public void setPath(String path) {
+		this.path = path;
+	}
+
+	public List<MemberPrivilegesItem> getMemberPrivilegesItems() {
+		return memberPrivilegesItems;
+	}
+
+	public void setMemberPrivilegesItems(List<MemberPrivilegesItem> memberPrivilegesItems) {
+		this.memberPrivilegesItems = memberPrivilegesItems;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setDesc(String desc){
+		this.desc = desc;
+	}
+	
+	public String getDesc(){
+		return this.desc;
+	}
+			
+	public void setCode(String code){
+		this.code = code;
+	}
+	
+	public String getCode(){
+		return this.code;
+	}
+			
+	public void setParentId(Integer parentId){
+		this.parentId = parentId;
+	}
+	
+	public Integer getParentId(){
+		return this.parentId;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 121 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankOrganizationFeeMapper.java

@@ -0,0 +1,121 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(member_rank_organization_fee_mapper):
+ */
+public class MemberRankOrganizationFeeMapper {
+
+	/**  */
+	private Integer id;
+	
+	/**  */
+	private Integer organId;
+	
+	/**  */
+	private Integer memberRankSettingId;
+
+	/**  */
+	private Integer operatorId;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	private String rankName;
+
+	private String organName;
+
+	private Integer memberFeeSettingId;
+
+	private MemberFeeSetting memberFeeSetting;
+	
+	public MemberFeeSetting getMemberFeeSetting() {
+		return memberFeeSetting;
+	}
+
+	public void setMemberFeeSetting(MemberFeeSetting memberFeeSetting) {
+		this.memberFeeSetting = memberFeeSetting;
+	}
+
+	public Integer getMemberFeeSettingId() {
+		return memberFeeSettingId;
+	}
+
+	public void setMemberFeeSettingId(Integer memberFeeSettingId) {
+		this.memberFeeSettingId = memberFeeSettingId;
+	}
+
+	public String getRankName() {
+		return rankName;
+	}
+
+	public void setRankName(String rankName) {
+		this.rankName = rankName;
+	}
+
+	public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setOrganId(Integer organId){
+		this.organId = organId;
+	}
+	
+	public Integer getOrganId(){
+		return this.organId;
+	}
+			
+	public void setMemberRankSettingId(Integer memberRankSettingId){
+		this.memberRankSettingId = memberRankSettingId;
+	}
+	
+	public Integer getMemberRankSettingId(){
+		return this.memberRankSettingId;
+	}
+
+	public void setOperatorId(Integer operatorId){
+		this.operatorId = operatorId;
+	}
+	
+	public Integer getOperatorId(){
+		return this.operatorId;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 37 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankPrivileges.java

@@ -0,0 +1,37 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(member_rank_privileges):
+ */
+public class MemberRankPrivileges {
+
+	/** 会员等级编号 */
+	private Integer memberRankId;
+	
+	/** 会员特权编号 */
+	private Integer memberPrivilegesId;
+	
+	public void setMemberRankId(Integer memberRankId){
+		this.memberRankId = memberRankId;
+	}
+	
+	public Integer getMemberRankId(){
+		return this.memberRankId;
+	}
+			
+	public void setMemberPrivilegesId(Integer memberPrivilegesId){
+		this.memberPrivilegesId = memberPrivilegesId;
+	}
+	
+	public Integer getMemberPrivilegesId(){
+		return this.memberPrivilegesId;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 156 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankSetting.java

@@ -0,0 +1,156 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.List;
+
+/**
+ * 对应数据库表(member_rank_setting):
+ */
+public class MemberRankSetting {
+
+	/**  */
+	private Integer operator;
+	
+	/**  */
+	private String operatorName;
+
+	/**  */
+	private Integer id;
+
+	/**  */
+	private String name;
+	
+	/**  */
+	private String intro;
+	
+	/**  */
+	private String icon;
+	
+	private Boolean isDefault;
+
+	/**  */
+	private List<Integer> memberPrivilegesItemIdList;
+	
+	private List<MemberPrivilegesItem> memberPrivilegesItemList;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	private List<MemberRankPrivileges> memberRankPrivileges;
+	
+	private MemberFeeSetting memberFeeSetting;
+
+	public Integer getOperator() {
+		return operator;
+	}
+
+	public void setOperator(Integer operator) {
+		this.operator = operator;
+	}
+
+	public String getOperatorName() {
+		return operatorName;
+	}
+
+	public void setOperatorName(String operatorName) {
+		this.operatorName = operatorName;
+	}
+
+	public List<MemberRankPrivileges> getMemberRankPrivileges() {
+		return memberRankPrivileges;
+	}
+
+	public void setMemberRankPrivileges(List<MemberRankPrivileges> memberRankPrivileges) {
+		this.memberRankPrivileges = memberRankPrivileges;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setIntro(String intro){
+		this.intro = intro;
+	}
+	
+	public String getIntro(){
+		return this.intro;
+	}
+			
+	public void setIcon(String icon){
+		this.icon = icon;
+	}
+	
+	public String getIcon(){
+		return this.icon;
+	}
+
+	public Boolean getIsDefault() {
+		return isDefault;
+	}
+
+	public void setIsDefault(Boolean isDefault) {
+		this.isDefault = isDefault;
+	}
+
+	public List<Integer> getMemberPrivilegesItemIdList() {
+		return memberPrivilegesItemIdList;
+	}
+
+	public void setMemberPrivilegesItemIdList(List<Integer> memberPrivilegesItemIdList) {
+		this.memberPrivilegesItemIdList = memberPrivilegesItemIdList;
+	}
+
+	public List<MemberPrivilegesItem> getMemberPrivilegesItemList() {
+		return memberPrivilegesItemList;
+	}
+
+	public void setMemberPrivilegesItemList(List<MemberPrivilegesItem> memberPrivilegesItemList) {
+		this.memberPrivilegesItemList = memberPrivilegesItemList;
+	}
+
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+
+	public MemberFeeSetting getMemberFeeSetting() {
+		return memberFeeSetting;
+	}
+
+	public void setMemberFeeSetting(MemberFeeSetting memberFeeSetting) {
+		this.memberFeeSetting = memberFeeSetting;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -180,6 +180,17 @@ public class MusicGroup {
 
 	private Boolean hasVerifyMusicalList = false;
 
+	//0云教练1云教练+
+	private Integer cloudTeacherType;
+
+	public Integer getCloudTeacherType() {
+		return cloudTeacherType;
+	}
+
+	public void setCloudTeacherType(Integer cloudTeacherType) {
+		this.cloudTeacherType = cloudTeacherType;
+	}
+
 	@ApiModelProperty(value = "进行中,缴费按钮控制",required = true)
 	private Boolean isRemedy = false;
 

+ 63 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java

@@ -34,7 +34,7 @@ public class MusicGroupPaymentCalender {
 	}
 
 	public enum PaymentCalenderStatusEnum implements BaseEnum<String, PaymentCalenderStatusEnum> {
-		AUDITING("审核中"), REJECT("拒绝"), NO("未开启缴费"), OPEN("开启缴费"), OVER("缴费已结束"), PAID("已缴费");
+		AUDITING("审核中"), REJECT("拒绝"), NO("未开启缴费"), OPEN("开启缴费"), OVER("缴费已结束"), PAID("已缴费"), DRAFT("草稿");
 
 		private String desc;
 
@@ -74,7 +74,8 @@ public class MusicGroupPaymentCalender {
 	}
 
 	public enum PaymentType implements BaseEnum<String, PaymentType> {
-		ADD_STUDENT("新增学员"), ADD_COURSE("临时加课"), MUSIC_APPLY("乐团报名"),MUSIC_RENEW("乐团续费"),SPAN_GROUP_CLASS_ADJUST("跨团班级调整");
+		ADD_STUDENT("新增学员"), ADD_COURSE("临时加课"), MUSIC_APPLY("乐团报名"),
+		MUSIC_RENEW("乐团续费"),SPAN_GROUP_CLASS_ADJUST("跨团班级调整");
 
 		private String desc;
 
@@ -119,7 +120,8 @@ public class MusicGroupPaymentCalender {
 
 	@ApiModelProperty(value = "缴费类型", required = false)
 	private PaymentType paymentType;
-	
+
+	@ApiModelProperty(value = "课程价格费用", required = false)
 	private BigDecimal paymentAmount = new BigDecimal(0);
 
 	@ApiModelProperty(value = "状态", required = false)
@@ -127,7 +129,7 @@ public class MusicGroupPaymentCalender {
 
 	private Integer expectNum = 0;
 
-	private Integer actualNum;
+	private Integer actualNum = 0;
 
 	@ApiModelProperty(value = "创建人", required = false)
 	private Integer operator;
@@ -145,7 +147,8 @@ public class MusicGroupPaymentCalender {
 	private java.util.Date createTime;
 
 	private java.util.Date updateTime;
-	
+
+	//进行中加学员时学员选择加入的班级
 	private String attribute1;
 	
 	private String attribute2;
@@ -163,6 +166,61 @@ public class MusicGroupPaymentCalender {
 	@ApiModelProperty(value = "课程展现形式",required = false)
 	private CourseViewTypeEnum courseViewType;
 
+	//会员有效期(月)
+	private Integer memberValidDate;
+
+	//会员付款金额
+	private BigDecimal memberPaymentAmount = BigDecimal.ZERO;
+
+	//会员原付款金额
+	private BigDecimal originalMemberPaymentAmount = BigDecimal.ZERO;
+
+	//会员等级编号
+	private Integer memberRankSettingId;
+
+	//会员等级名称
+	private String memberRankSettingName;
+
+	public String getMemberRankSettingName() {
+		return memberRankSettingName;
+	}
+
+	public void setMemberRankSettingName(String memberRankSettingName) {
+		this.memberRankSettingName = memberRankSettingName;
+	}
+
+	public BigDecimal getOriginalMemberPaymentAmount() {
+		return originalMemberPaymentAmount;
+	}
+
+	public void setOriginalMemberPaymentAmount(BigDecimal originalMemberPaymentAmount) {
+		this.originalMemberPaymentAmount = originalMemberPaymentAmount;
+	}
+
+	public Integer getMemberValidDate() {
+		return memberValidDate;
+	}
+
+	public void setMemberValidDate(Integer memberValidDate) {
+		this.memberValidDate = memberValidDate;
+	}
+
+	public BigDecimal getMemberPaymentAmount() {
+		return memberPaymentAmount;
+	}
+
+	public void setMemberPaymentAmount(BigDecimal memberPaymentAmount) {
+		this.memberPaymentAmount = memberPaymentAmount;
+	}
+
+	public Integer getMemberRankSettingId() {
+		return memberRankSettingId;
+	}
+
+	public void setMemberRankSettingId(Integer memberRankSettingId) {
+		this.memberRankSettingId = memberRankSettingId;
+	}
+
 	public String getAuditMemo() {
 		return auditMemo;
 	}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderDetail.java

@@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -25,6 +26,9 @@ public class MusicGroupPaymentCalenderDetail {
 	
 	/**  */
 	private java.math.BigDecimal expectAmount;
+
+	/**  */
+	private java.math.BigDecimal expectMemberAmount = BigDecimal.ZERO;
 	
 	/**  */
 	private java.math.BigDecimal actualAmount;
@@ -80,6 +84,14 @@ public class MusicGroupPaymentCalenderDetail {
 	
 	private SysUser responsible = new SysUser();
 
+	public BigDecimal getExpectMemberAmount() {
+		return expectMemberAmount;
+	}
+
+	public void setExpectMemberAmount(BigDecimal expectMemberAmount) {
+		this.expectMemberAmount = expectMemberAmount;
+	}
+
 	public MusicGroupPaymentCalender.PaymentType getPaymentType() {
 		return paymentType;
 	}

+ 26 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentStudentCourseDetail.java

@@ -1,8 +1,9 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+import java.math.BigDecimal;
 
 /**
  * 对应数据库表(music_group_payment_student_course_detail):
@@ -26,8 +27,14 @@ public class MusicGroupPaymentStudentCourseDetail {
 	
 	/**  */
 	private Integer totalCourseMinutes;
-	
+
 	/**  */
+	private BigDecimal courseOriginalPrice;
+
+	/**  */
+	private BigDecimal courseCurrentPrice;
+
+	/**  已消耗时长*/
 	private Integer usedCourseMinutes;
 	
 	/**  */
@@ -35,7 +42,23 @@ public class MusicGroupPaymentStudentCourseDetail {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	public BigDecimal getCourseOriginalPrice() {
+		return courseOriginalPrice;
+	}
+
+	public void setCourseOriginalPrice(BigDecimal courseOriginalPrice) {
+		this.courseOriginalPrice = courseOriginalPrice;
+	}
+
+	public BigDecimal getCourseCurrentPrice() {
+		return courseCurrentPrice;
+	}
+
+	public void setCourseCurrentPrice(BigDecimal courseCurrentPrice) {
+		this.courseCurrentPrice = courseCurrentPrice;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 115 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentStudentMemberCourseDetail.java

@@ -0,0 +1,115 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(music_group_payment_student_member_course_detail):
+ */
+public class MusicGroupPaymentStudentMemberCourseDetail {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Long musicGroupPaymentCalenderId;
+	
+	/**  */
+	private Long musicGroupPaymentCalenderDetailId;
+	
+	/**  */
+	private Integer userId;
+
+	/**  用来标注当前缴费项目排了哪些类型的课以及课时数*/
+	private String courseDetail;
+
+	/**  会员可排课时长*/
+	private Integer memberCourseMinutes;
+	
+	/**  已消耗时长*/
+	private Integer usedCourseMinutes;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	public String getCourseDetail() {
+		return courseDetail;
+	}
+
+	public void setCourseDetail(String courseDetail) {
+		this.courseDetail = courseDetail;
+	}
+
+	public Integer getMemberCourseMinutes() {
+		return memberCourseMinutes;
+	}
+
+	public void setMemberCourseMinutes(Integer memberCourseMinutes) {
+		this.memberCourseMinutes = memberCourseMinutes;
+	}
+
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId){
+		this.musicGroupPaymentCalenderId = musicGroupPaymentCalenderId;
+	}
+	
+	public Long getMusicGroupPaymentCalenderId(){
+		return this.musicGroupPaymentCalenderId;
+	}
+			
+	public void setMusicGroupPaymentCalenderDetailId(Long musicGroupPaymentCalenderDetailId){
+		this.musicGroupPaymentCalenderDetailId = musicGroupPaymentCalenderDetailId;
+	}
+	
+	public Long getMusicGroupPaymentCalenderDetailId(){
+		return this.musicGroupPaymentCalenderDetailId;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setUsedCourseMinutes(Integer usedCourseMinutes){
+		this.usedCourseMinutes = usedCourseMinutes;
+	}
+	
+	public Integer getUsedCourseMinutes(){
+		return this.usedCourseMinutes;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 127 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupSchoolTermCourseDetail.java

@@ -0,0 +1,127 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.Date;
+
+/**
+ * 对应数据库表(music_group_school_term_course_detail):
+ */
+public class MusicGroupSchoolTermCourseDetail {
+
+	/**  */
+	private Integer id;
+	
+	/**  */
+	private String musicGroupId;
+	
+	/** 开课日期 */
+	private java.util.Date startCourseDate;
+	
+	/** 学期开始时间 */
+	private java.util.Date startSchoolTerm;
+	
+	/** 学期截止时间 */
+	private java.util.Date endSchoolTerm;
+	
+	/** 是否排课 */
+	private boolean courseFlag;
+	
+	/** 可排课时长 */
+	private Integer totalCourseTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	/**  */
+	private java.util.Date createTime;
+
+	/** 是否清空预排课 */
+	private boolean cleanPreCourseFlag;
+
+	public boolean getCleanPreCourseFlag() {
+		return cleanPreCourseFlag;
+	}
+
+	public void setCleanPreCourseFlag(boolean cleanPreCourseFlag) {
+		this.cleanPreCourseFlag = cleanPreCourseFlag;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupId(String musicGroupId){
+		this.musicGroupId = musicGroupId;
+	}
+	
+	public String getMusicGroupId(){
+		return this.musicGroupId;
+	}
+
+	public Date getStartCourseDate() {
+		return startCourseDate;
+	}
+
+	public void setStartCourseDate(Date startCourseDate) {
+		this.startCourseDate = startCourseDate;
+	}
+
+	public Date getStartSchoolTerm() {
+		return startSchoolTerm;
+	}
+
+	public void setStartSchoolTerm(Date startSchoolTerm) {
+		this.startSchoolTerm = startSchoolTerm;
+	}
+
+	public Date getEndSchoolTerm() {
+		return endSchoolTerm;
+	}
+
+	public void setEndSchoolTerm(Date endSchoolTerm) {
+		this.endSchoolTerm = endSchoolTerm;
+	}
+
+	public void setCourseFlag(boolean courseFlag){
+		this.courseFlag = courseFlag;
+	}
+	
+	public boolean isCourseFlag(){
+		return this.courseFlag;
+	}
+			
+	public void setTotalCourseTime(Integer totalCourseTime){
+		this.totalCourseTime = totalCourseTime;
+	}
+	
+	public Integer getTotalCourseTime(){
+		return this.totalCourseTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 114 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupSchoolTermStudentCourseDetail.java

@@ -0,0 +1,114 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(music_group_school_term_student_course_detail):
+ */
+public class MusicGroupSchoolTermStudentCourseDetail {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer musicGroupSchoolTermCourseDetailId;
+	
+	/**  */
+	private Integer userId;
+	
+	/** 会员可排课时长 */
+	private Integer memberCourseMinutes = 0;
+	
+	/** 预排课消耗时长 */
+	private Integer preMemberCourseMinutes = 0;
+	
+	/**  合奏课消耗的时长*/
+	private Integer mixCourseMinutes = 0;
+	
+	/** 单技课消耗的时长 */
+	private Integer singleCourseMinutes = 0;
+
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	public Integer getMixCourseMinutes() {
+		return mixCourseMinutes;
+	}
+
+	public void setMixCourseMinutes(Integer mixCourseMinutes) {
+		this.mixCourseMinutes = mixCourseMinutes;
+	}
+
+	public Integer getSingleCourseMinutes() {
+		return singleCourseMinutes;
+	}
+
+	public void setSingleCourseMinutes(Integer singleCourseMinutes) {
+		this.singleCourseMinutes = singleCourseMinutes;
+	}
+
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupSchoolTermCourseDetailId(Integer musicGroupSchoolTermCourseDetailId){
+		this.musicGroupSchoolTermCourseDetailId = musicGroupSchoolTermCourseDetailId;
+	}
+	
+	public Integer getMusicGroupSchoolTermCourseDetailId(){
+		return this.musicGroupSchoolTermCourseDetailId;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setMemberCourseMinutes(Integer memberCourseMinutes){
+		this.memberCourseMinutes = memberCourseMinutes;
+	}
+	
+	public Integer getMemberCourseMinutes(){
+		return this.memberCourseMinutes;
+	}
+			
+	public void setPreMemberCourseMinutes(Integer preMemberCourseMinutes){
+		this.preMemberCourseMinutes = preMemberCourseMinutes;
+	}
+	
+	public Integer getPreMemberCourseMinutes(){
+		return this.preMemberCourseMinutes;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 97 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicMemberDto.java

@@ -0,0 +1,97 @@
+package com.ym.mec.biz.dal.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class MusicMemberDto {
+
+	private Integer userId;
+
+	private String username;
+
+	private String organName;
+
+	private String musicGroupName;
+
+	private String musicGroupId;
+
+	private String phone;
+
+	private Integer memberDay;
+
+	private BigDecimal cloudTeacherAmount;
+
+	private Date visitTime;
+
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
+	public Date getVisitTime() {
+		return visitTime;
+	}
+
+	public void setVisitTime(Date visitTime) {
+		this.visitTime = visitTime;
+	}
+
+	public BigDecimal getCloudTeacherAmount() {
+		return cloudTeacherAmount;
+	}
+
+	public void setCloudTeacherAmount(BigDecimal cloudTeacherAmount) {
+		this.cloudTeacherAmount = cloudTeacherAmount;
+	}
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public String getMusicGroupName() {
+		return musicGroupName;
+	}
+
+	public void setMusicGroupName(String musicGroupName) {
+		this.musicGroupName = musicGroupName;
+	}
+
+	public String getMusicGroupId() {
+		return musicGroupId;
+	}
+
+	public void setMusicGroupId(String musicGroupId) {
+		this.musicGroupId = musicGroupId;
+	}
+
+	public Integer getMemberDay() {
+		return memberDay;
+	}
+
+	public void setMemberDay(Integer memberDay) {
+		this.memberDay = memberDay;
+	}
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java

@@ -1,6 +1,9 @@
 package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.auth.api.entity.SysUser;
@@ -55,6 +58,14 @@ public class Student extends SysUser {
 	private String currentClass;
 
 	private Integer cooperationOrganId;
+	
+	private Integer memberRankSettingId;
+	
+	private Date membershipStartTime;
+	
+	private Date membershipEndTime;
+	
+	private String memberRankImg;
 
 	@ApiModelProperty(value = "活动排课信息")
 	private String activityCourseDetail;
@@ -214,4 +225,36 @@ public class Student extends SysUser {
 	public void setCurrentClass(String currentClass) {
 		this.currentClass = currentClass;
 	}
+
+	public Integer getMemberRankSettingId() {
+		return memberRankSettingId;
+	}
+
+	public void setMemberRankSettingId(Integer memberRankSettingId) {
+		this.memberRankSettingId = memberRankSettingId;
+	}
+
+	public Date getMembershipStartTime() {
+		return membershipStartTime;
+	}
+
+	public void setMembershipStartTime(Date membershipStartTime) {
+		this.membershipStartTime = membershipStartTime;
+	}
+
+	public Date getMembershipEndTime() {
+		return membershipEndTime;
+	}
+
+	public void setMembershipEndTime(Date membershipEndTime) {
+		this.membershipEndTime = membershipEndTime;
+	}
+
+	public String getMemberRankImg() {
+		return memberRankImg;
+	}
+
+	public void setMemberRankImg(String memberRankImg) {
+		this.memberRankImg = memberRankImg;
+	}
 }

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseHomework.java

@@ -54,6 +54,27 @@ public class StudentCourseHomework {
 
 	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
 
+	//伴奏编号
+	private Integer musicScoreId;
+	//伴奏编号
+	private String musicScoreName;
+
+	public String getMusicScoreName() {
+		return musicScoreName;
+	}
+
+	public void setMusicScoreName(String musicScoreName) {
+		this.musicScoreName = musicScoreName;
+	}
+
+	public Integer getMusicScoreId() {
+		return musicScoreId;
+	}
+
+	public void setMusicScoreId(Integer musicScoreId) {
+		this.musicScoreId = musicScoreId;
+	}
+
 	public ImSendTypeEnum getMsgType() {
 		return msgType;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 
@@ -59,6 +60,8 @@ public class StudentPaymentOrderDetail {
 
 	@ApiModelProperty(value = "子商品列表",required = false)
 	private List<Goods> childGoodsList;
+	
+	private CloudTeacherOrderDto cloudTeacherOrderDto;
 
 	public void setId(Long id){
 		this.id = id;
@@ -176,4 +179,12 @@ public class StudentPaymentOrderDetail {
 	public void setIsRenew(Integer isRenew) {
 		this.isRenew = isRenew;
 	}
+
+	public CloudTeacherOrderDto getCloudTeacherOrderDto() {
+		return cloudTeacherOrderDto;
+	}
+
+	public void setCloudTeacherOrderDto(CloudTeacherOrderDto cloudTeacherOrderDto) {
+		this.cloudTeacherOrderDto = cloudTeacherOrderDto;
+	}
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java

@@ -136,6 +136,17 @@ public class StudentRegistration {
     @ApiModelProperty(value = "是否不需要云教练 0-需要 1-不需要",required = true)
     private Integer noneNeedCloudTeacher = 0;
 
+    @ApiModelProperty(value = "会员截止时间",required = true)
+    private Date membershipEndTime;
+
+    public Date getMembershipEndTime() {
+        return membershipEndTime;
+    }
+
+    public void setMembershipEndTime(Date membershipEndTime) {
+        this.membershipEndTime = membershipEndTime;
+    }
+
     public String getCertificateType() {
         return certificateType;
     }

+ 7 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CourseViewTypeEnum.java

@@ -3,10 +3,13 @@ package com.ym.mec.biz.dal.enums;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum CourseViewTypeEnum implements BaseEnum<Integer, CourseViewTypeEnum> {
-    COURSE_lIST(0, "课程详情", 2),
-    AMR(1, "器乐练习系统", 4),
-    CLOUD_TEACHER(2, "云教练收费", 4),
-    CLOUD_TEACHER_PLUS(3, "云教练+收费", 5);
+//    COURSE_lIST(0, "课程详情", 2),
+    COURSE_FEE(0, "课程收费", 2),
+    AMR(1, "器乐练习系统", 3),
+//    CLOUD_TEACHER(2, "云教练收费", 4),
+
+    MEMBER_FEE(2, "会员收费", 4);
+//    CLOUD_TEACHER_PLUS(3, "云教练+收费", 5);
 
     private Integer code;
 

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupType.java

@@ -15,7 +15,8 @@ public enum GroupType implements BaseEnum<String, GroupType> {
 	SUBJECT_CHANGE("声部更换"),
 	MAINTENANCE("乐保"),
 	REPLACEMENT("乐器置换"),
-	DEGREE("6.1考级活动");
+	DEGREE("6.1考级活动"),
+	MEMBER("购买会员");
 
 	private String desc;
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexDataType.java

@@ -43,6 +43,13 @@ public enum IndexDataType implements BaseEnum<String, IndexDataType> {
     FINANCE_AMOUNT("FINANCE_AMOUNT","现金收入", false, false),
     TOTAL_AMOUNT("TOTAL_AMOUNT","总收入", false, false),
 
+    //经营数据详情
+    APPLY_AMOUNT("APPLY_AMOUNT","报名缴费收入", false, false),
+    RENEW_AMOUNT("RENEW_AMOUNT","乐团续费收入", false, false),
+    VIP_AMOUNT("VIP_AMOUNT","VIP课收入", false, false),
+    PRACTICE_AMOUNT("PRACTICE_AMOUNT","网管课收入", false, false),
+    OTHER_AMOUNT("OTHER_AMOUNT","其他收入", false, false),
+
     //业务数据
     HOMEWORK_CREATE_RATE("HOMEWORK_CREATE_RATE","作业布置率", true, true),
     HOMEWORK_SUBMIT_RATE("HOMEWORK_SUBMIT_RATE","作业提交率", true, true),

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java

@@ -17,6 +17,8 @@ public enum IndexErrorType implements BaseEnum<String, IndexErrorType> {
     STUDENT_NOT_PAYMENT("STUDENT_NOT_PAYMENT", "未缴费学员数"),
     STUDENT_ERROR_LEAVE("STUDENT_ERROR_LEAVE", "学员异常请假"),
     STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP("STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP", "申请退团学员数"),
+    NO_MEMBER_STUDENT_INFO("NO_MEMBER_STUDENT_INFO", "当前共有{0}个乐团共{1}名学员会员已过期"),
+    MEMBER_STUDENT_INFO("MEMBER_STUDENT_INFO", "当前共有{0}个乐团共{1}名学员会员即将过期"),
     WAIT_CREATE_PAYMENT_CALENDER("WAIT_CREATE_PAYMENT_CALENDER", "待创建缴费项目"),
     ATTENDANCE_ERR_STUDENT_NUM("COURSE_TRUANT_STUDENT_NUM", "学员考勤异常"),
     COURSE_TRUANT_STUDENT_NUM("COURSE_TRUANT_STUDENT_NUM", "学员旷课"),

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -4,6 +4,9 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_APPLY_MESSAGE("SMS_APPLY_MESSAGE", "报名通知"),
+    SYSTEM_REMIND_EDUCATION_COURSE_TIME("SYSTEM_REMIND_EDUCATION_COURSE_TIME", "排课提醒"),
+    STUDENT_MEMBER_RENEW_MESSAGE("STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
+    STUDENT_MEMBER_RENEW_QUIT_MESSAGE("STUDENT_MEMBER_RENEW_QUIT_MESSAGE", "会员续费提醒"),
     SMS_VERIFY_CODE_LOGIN("SMS_VERIFY_CODE_LOGIN", "验证码登录"),
     KAPTCHA_SESSION_KEY("KAPTCHA_SESSION_KEY", "登录图形验证码"),
     SMS_PAYMENT_MESSAGE("SMS_PAYMENT_MESSAGE", "缴费通知"),

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/OrderTypeEnum.java

@@ -24,7 +24,8 @@ public enum OrderTypeEnum implements BaseEnum<String, OrderTypeEnum> {
 	DEGREE_REGISTRATION("DEGREE_REGISTRATION", "考级报名"),
 	MAINTENANCE("MAINTENANCE","乐保"),
 	REPLACEMENT("REPLACEMENT","乐器置换"),
-	DEGREE("DEGREE","6.1考级活动");
+	DEGREE("DEGREE","6.1考级活动"),
+	MEMBER("MEMBER", "购买会员");
 
 
 	private String code;

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PeriodEnum.java

@@ -0,0 +1,29 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * 周期
+ */
+public enum PeriodEnum implements BaseEnum<String, PeriodEnum> {
+	DAY("日"), MONTH("月"), YEAR_HALF("半年"), YEAR("年");
+
+	private String msg;
+
+	PeriodEnum(String msg) {
+		this.msg = msg;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.name();
+	}
+}

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CloudTeacherOrderQueryInfo.java

@@ -0,0 +1,30 @@
+package com.ym.mec.biz.dal.page;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class CloudTeacherOrderQueryInfo extends QueryInfo {
+
+	@ApiModelProperty(value = "交易状态(0-待生效 1-生效中 2-已生效 3-已退)", required = false)
+	private Integer status;
+
+	@ApiModelProperty(value = "学生编号", required = false)
+	private Integer studentId;
+
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public Integer getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Integer studentId) {
+		this.studentId = studentId;
+	}
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/EndCourseScheduleQueryInfo.java

@@ -93,6 +93,17 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
 
     private Integer educationUserId;
 
+    @ApiModelProperty(value = "是否云教练课程")
+    private Integer memberFlag;
+
+    public Integer getMemberFlag() {
+        return memberFlag;
+    }
+
+    public void setMemberFlag(Integer memberFlag) {
+        this.memberFlag = memberFlag;
+    }
+
     public Integer getEducationUserId() {
         return educationUserId;
     }

+ 93 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQuery.java

@@ -0,0 +1,93 @@
+package com.ym.mec.biz.dal.page;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class GoodsQuery {
+
+    @ApiModelProperty(value = "商品类型", required = false)
+    private String type;
+
+    @ApiModelProperty(value = "客户端展示分部")
+    private Integer studentShowOrganId;
+
+    @ApiModelProperty(value = "教务端展示分部")
+    private Integer educationShowOrganId;
+
+    @ApiModelProperty(value = "课程收费团展示分部")
+    private Integer courseFeeShowOrganId;
+
+    @ApiModelProperty(value = "会员收费团展示分部")
+    private Integer memberFeeShowOrganId;
+
+    @ApiModelProperty(value = "乐器置换展示分部")
+    private Integer replacementShowOrganId;
+
+    @ApiModelProperty(value = "分部")
+    private Integer organId;
+
+    private Integer subjectId;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public Integer getStudentShowOrganId() {
+        return studentShowOrganId;
+    }
+
+    public void setStudentShowOrganId(Integer studentShowOrganId) {
+        this.studentShowOrganId = studentShowOrganId;
+    }
+
+    public Integer getEducationShowOrganId() {
+        return educationShowOrganId;
+    }
+
+    public void setEducationShowOrganId(Integer educationShowOrganId) {
+        this.educationShowOrganId = educationShowOrganId;
+    }
+
+    public Integer getCourseFeeShowOrganId() {
+        return courseFeeShowOrganId;
+    }
+
+    public void setCourseFeeShowOrganId(Integer courseFeeShowOrganId) {
+        this.courseFeeShowOrganId = courseFeeShowOrganId;
+    }
+
+    public Integer getMemberFeeShowOrganId() {
+        return memberFeeShowOrganId;
+    }
+
+    public void setMemberFeeShowOrganId(Integer memberFeeShowOrganId) {
+        this.memberFeeShowOrganId = memberFeeShowOrganId;
+    }
+
+    public Integer getReplacementShowOrganId() {
+        return replacementShowOrganId;
+    }
+
+    public void setReplacementShowOrganId(Integer replacementShowOrganId) {
+        this.replacementShowOrganId = replacementShowOrganId;
+    }
+}

+ 64 - 41
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java

@@ -28,22 +28,37 @@ public class GoodsQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否组合商品:0/1")
     private Integer groupGoods;
 
-    @ApiModelProperty(value = "客户端是否展示:0否,1是")
-    private Integer clientShow;
+    @ApiModelProperty(value = "客户端展示分部")
+    private String studentShowOrganId;
 
-    @ApiModelProperty(value = "教务端是否展示:0否,1是")
-    private Integer educationalShow;
+    @ApiModelProperty(value = "教务端展示分部")
+    private String educationShowOrganId;
 
-    @ApiModelProperty(value = "乐团端是否展示:0否,1是")
-    private Integer musicGroupShow;
+    @ApiModelProperty(value = "课程收费团展示分部")
+    private String courseFeeShowOrganId;
 
-    @ApiModelProperty(value = "乐器置换是否展示:0否,1是")
-    private Integer replacementShow;
+    @ApiModelProperty(value = "会员收费团展示分部")
+    private String memberFeeShowOrganId;
 
-    private String courseViewType;
+    @ApiModelProperty(value = "乐器置换展示分部")
+    private String replacementShowOrganId;
 
+    @ApiModelProperty(value = "分部")
     private String organId;
 
+    @ApiModelProperty(value = "此参数为1则不按分部查询")
+    private Integer noOrganSearch;
+
+    private Integer subjectId;
+
+    public Integer getNoOrganSearch() {
+        return noOrganSearch;
+    }
+
+    public void setNoOrganSearch(Integer noOrganSearch) {
+        this.noOrganSearch = noOrganSearch;
+    }
+
     public String getOrganId() {
         return organId;
     }
@@ -52,12 +67,44 @@ public class GoodsQueryInfo extends QueryInfo {
         this.organId = organId;
     }
 
-    public String getCourseViewType() {
-        return courseViewType;
+    public String getStudentShowOrganId() {
+        return studentShowOrganId;
+    }
+
+    public void setStudentShowOrganId(String studentShowOrganId) {
+        this.studentShowOrganId = studentShowOrganId;
+    }
+
+    public String getEducationShowOrganId() {
+        return educationShowOrganId;
+    }
+
+    public void setEducationShowOrganId(String educationShowOrganId) {
+        this.educationShowOrganId = educationShowOrganId;
+    }
+
+    public String getCourseFeeShowOrganId() {
+        return courseFeeShowOrganId;
+    }
+
+    public void setCourseFeeShowOrganId(String courseFeeShowOrganId) {
+        this.courseFeeShowOrganId = courseFeeShowOrganId;
+    }
+
+    public String getMemberFeeShowOrganId() {
+        return memberFeeShowOrganId;
+    }
+
+    public void setMemberFeeShowOrganId(String memberFeeShowOrganId) {
+        this.memberFeeShowOrganId = memberFeeShowOrganId;
+    }
+
+    public String getReplacementShowOrganId() {
+        return replacementShowOrganId;
     }
 
-    public void setCourseViewType(String courseViewType) {
-        this.courseViewType = courseViewType;
+    public void setReplacementShowOrganId(String replacementShowOrganId) {
+        this.replacementShowOrganId = replacementShowOrganId;
     }
 
     public Integer getGroupGoods() {
@@ -108,35 +155,11 @@ public class GoodsQueryInfo extends QueryInfo {
         this.status = status;
     }
 
-    public Integer getClientShow() {
-        return clientShow;
-    }
-
-    public void setClientShow(Integer clientShow) {
-        this.clientShow = clientShow;
-    }
-
-	public Integer getEducationalShow() {
-		return educationalShow;
-	}
-
-	public void setEducationalShow(Integer educationalShow) {
-		this.educationalShow = educationalShow;
-	}
-
-	public Integer getMusicGroupShow() {
-		return musicGroupShow;
-	}
-
-	public void setMusicGroupShow(Integer musicGroupShow) {
-		this.musicGroupShow = musicGroupShow;
-	}
-
-    public Integer getReplacementShow() {
-        return replacementShow;
+    public Integer getSubjectId() {
+        return subjectId;
     }
 
-    public void setReplacementShow(Integer replacementShow) {
-        this.replacementShow = replacementShow;
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
     }
 }

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MemberPrivilegesItemQueryInfo.java

@@ -0,0 +1,17 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class MemberPrivilegesItemQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "父节点编号,默认0",required = false)
+    private Integer parentId = 0;
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+}

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MemberRankFeeQueryInfo.java

@@ -0,0 +1,15 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class MemberRankFeeQueryInfo extends QueryInfo {
+    private String organId;
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+}

+ 55 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupQueryInfo.java

@@ -1,11 +1,14 @@
 package com.ym.mec.biz.dal.page;
 
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
 import java.util.List;
 
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.common.page.QueryInfo;
+
 public class MusicGroupQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "所属分部编号",required = false)
@@ -34,6 +37,24 @@ public class MusicGroupQueryInfo extends QueryInfo {
 
     private String searchType;
 
+    private CourseViewTypeEnum courseViewType;
+    
+    private Date createStartDate;
+    
+    private Date createEndDate;
+    
+    private Date billStartDate;
+    
+    private Date billEndDate;
+
+    public CourseViewTypeEnum getCourseViewType() {
+        return courseViewType;
+    }
+
+    public void setCourseViewType(CourseViewTypeEnum courseViewType) {
+        this.courseViewType = courseViewType;
+    }
+
     public String getSearchType() {
         return searchType;
     }
@@ -113,4 +134,36 @@ public class MusicGroupQueryInfo extends QueryInfo {
     public void setMusicGroupStatus(String musicGroupStatus) {
         this.musicGroupStatus = musicGroupStatus;
     }
+
+	public Date getCreateStartDate() {
+		return createStartDate;
+	}
+
+	public void setCreateStartDate(Date createStartDate) {
+		this.createStartDate = createStartDate;
+	}
+
+	public Date getCreateEndDate() {
+		return createEndDate;
+	}
+
+	public void setCreateEndDate(Date createEndDate) {
+		this.createEndDate = createEndDate;
+	}
+
+	public Date getBillStartDate() {
+		return billStartDate;
+	}
+
+	public void setBillStartDate(Date billStartDate) {
+		this.billStartDate = billStartDate;
+	}
+
+	public Date getBillEndDate() {
+		return billEndDate;
+	}
+
+	public void setBillEndDate(Date billEndDate) {
+		this.billEndDate = billEndDate;
+	}
 }

+ 61 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicMemberQueryInfo.java

@@ -0,0 +1,61 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class MusicMemberQueryInfo extends QueryInfo {
+
+	@ApiModelProperty(value = "0已过期,1即将过期", required = false)
+	private Integer hasMember;
+
+	private String memberEndAutoQuitMusic;
+
+	private Date visitStartTime;
+
+	private Date visitEndTime;
+
+    @ApiModelProperty(value = "分部", required = false)
+    private String organId;
+
+	public Date getVisitStartTime() {
+		return visitStartTime;
+	}
+
+	public void setVisitStartTime(Date visitStartTime) {
+		this.visitStartTime = visitStartTime;
+	}
+
+	public Date getVisitEndTime() {
+		return visitEndTime;
+	}
+
+	public void setVisitEndTime(Date visitEndTime) {
+		this.visitEndTime = visitEndTime;
+	}
+
+	public String getMemberEndAutoQuitMusic() {
+		return memberEndAutoQuitMusic;
+	}
+
+	public void setMemberEndAutoQuitMusic(String memberEndAutoQuitMusic) {
+		this.memberEndAutoQuitMusic = memberEndAutoQuitMusic;
+	}
+
+	public Integer getHasMember() {
+		return hasMember;
+	}
+
+	public void setHasMember(Integer hasMember) {
+		this.hasMember = hasMember;
+	}
+
+	public String getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(String organId) {
+		this.organId = organId;
+	}
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -46,6 +46,17 @@ public class StudentManageQueryInfo extends QueryInfo {
 
     private Integer comeOnPackage;
 
+    //是否有会员
+    private Integer hasMember;
+
+    public Integer getHasMember() {
+        return hasMember;
+    }
+
+    public void setHasMember(Integer hasMember) {
+        this.hasMember = hasMember;
+    }
+
     private Integer subjectId;
 
     private String activityCourseType;

+ 34 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -189,7 +189,11 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroupIdListStr
      * @return
      */
-    boolean addStudentToClassGroupAndCourseArranging(Integer studentId, String classGroupIdListStr, String batchNo, List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList);
+    boolean addStudentToClassGroupAndCourseArranging(Integer studentId,
+                                                     String classGroupIdListStr,
+                                                     String batchNo,
+                                                     List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList,
+                                                     MusicGroup musicGroup);
 
     /**
      * 获取未分配合奏的单技班列表
@@ -295,6 +299,13 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
     HttpResponseResult classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception;
 
     /**
+     * 班级预排课
+     * @param classGroup4MixDtos
+     * @return
+     */
+    HttpResponseResult preCourseSchedule(List<ClassGroup4MixDto> classGroup4MixDtos);
+
+    /**
      * 班级调整(增加临时班级)
      * @param classGroup4MixDtos
      * @return
@@ -465,7 +476,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroupIdList
      * @return
      */
-    List<RemainCourseTypeDurationDto> queryRemainCourseTypeDuration(String classGroupIdList);
+    List<RemainCourseTypeDurationDto> queryRemainCourseTypeDuration(String classGroupIdList,Integer memberFlag);
 
     /**
      * 进行中乐团-修改-班级详情-学员班级调整详情
@@ -553,4 +564,25 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroupStudents
      */
     void spanGroupClassAdjustPass(Integer masterClassGroupId,List<Integer> studentIds,List<Long> courseIds,List<Map> classGroupStudents,List<Long> allLockCourseIds,String batchNo,BigDecimal masterTotalPrice);
+
+    /**
+     * 获取班级的预排课课程列表
+     * @param classGroupId
+     * @return
+     */
+    List<CourseSchedule> queryPreCourseList(Integer classGroupId);
+
+    /**
+     * 确认预排课
+     * @param musicGroupSchoolTermCourseDetailId
+     * @return
+     */
+    void confirmPreCourseSchedule(Integer musicGroupSchoolTermCourseDetailId);
+
+    /**
+     * 取消预排课
+     * @param musicGroupSchoolTermCourseDetailId
+     * @param classGroupId
+     */
+    void cancelPreCourseSchedule(Integer musicGroupSchoolTermCourseDetailId, Integer classGroupId);
 }

+ 24 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 import com.ym.mec.biz.dal.entity.CloudTeacher;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
@@ -52,7 +53,15 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      * @param musicGroupId
      * @return
      */
-    CloudTeacherOrder getStudentCloudTeacherOrder(Integer studentId, String musicGroupId);
+    List<CloudTeacherOrder> getStudentCloudTeacherOrder(Integer studentId, String musicGroupId);
+
+    /**
+     * 退云教练
+     * @param cloudTeacherOrders
+     * @param refundAmount
+     * @return
+     */
+    Boolean quitCloudTeacherOrders(List<CloudTeacherOrder> cloudTeacherOrders, BigDecimal refundAmount);
 
     /**
      * 退云教练
@@ -61,5 +70,19 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      * @return
      */
     Boolean quitCloudTeacherOrder(CloudTeacherOrder order, BigDecimal refundAmount);
+	
+	/**
+	 * 根据studentPaymentOrder表id查询对象
+	 * @param orderId
+	 * @return
+	 */
+	CloudTeacherOrder queryByOrderId(Long orderId);
+    
+    /**
+     * 根据订单编号查询订单详情
+     * @param orderId
+     * @return
+     */
+    CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId);
 
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CourseReviewService.java

@@ -105,7 +105,7 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 * @param expiryDate
 	 * @return
 	 */
-	CourseHomework addHomeWork(Integer courseScheduleId,String content, Date expiryDate);
+	CourseHomework addHomeWork(Integer courseScheduleId,String content, Date expiryDate,Integer musicScoreId);
 
 	/**
 	 * 获取网管课列表

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -629,14 +629,14 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 */
 	void courseRepeatCheck();
 
-	/**
-	 * @describe 将被合并的课程替换为主课程
-	 * @author qnc99
-	 * @date 2020/12/7 0007
-	 * @param courseSchedules:
-	 * @return void
-	 */
-	List<CourseSchedule> classGroupNotStartMergeCourseReplace(Long classGroupId);
+//	/**
+//	 * @describe 将被合并的课程替换为主课程
+//	 * @author qnc99
+//	 * @date 2020/12/7 0007
+//	 * @param courseSchedules:
+//	 * @return void
+//	 */
+//	List<CourseSchedule> classGroupNotStartMergeCourseReplace(Long classGroupId);
 
 	/**
 	 * @describe 课程合并

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java

@@ -69,6 +69,17 @@ public interface CourseScheduleStudentPaymentService extends BaseService<Long, C
 	void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds);
 
 	/**
+	 * @describe 创建课程缴费记录-会员乐团
+	 * @author Joburgess
+	 * @date 2020.10.27
+	 * @param musicGroupId: 乐团编号
+	 * @param courseSchedules: 课程计划列表
+	 * @param studentIds: 课程学员列表
+	 * @return void
+	 */
+	void createForMemberMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds);
+
+	/**
 	 * @describe 创建课程缴费记录-乐团-用于合班拆班自动排课
 	 * @author zouxuan
 	 * @date 2020.10.27

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesService.java

@@ -36,7 +36,7 @@ public interface ExtracurricularExercisesService extends BaseService<Long, Extra
      * @param search:
      * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
      */
-    List<BasicUserDto> getDontServeStudents(Integer teacherId, String search, String musicGroupId,Long classGroupId,Integer subjectId);
+    List<BasicUserDto> getDontServeStudents(Integer teacherId, String search, String musicGroupId,Long classGroupId,Integer subjectId,Integer hasMember);
 
     /**
      * @describe 应布置课外训练提醒

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.GoodsProcurement;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.enums.AccountType;
+import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -34,7 +35,7 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      * @param subjectId
      * @return
      */
-    List<Goods> findGoodsBySubId(Integer subjectId,String type,Integer organId);
+    List<Goods> findGoodsBySubId(GoodsQuery goodsQuery);
 
     /**
      * 根据商品分类id查找商品数量
@@ -117,5 +118,10 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      */
     List<GoodsSellDto> queryGoodsSellDtos(String goodsId);
 
-    PageInfo<Goods> queryGoodsPage(GoodsQueryInfo queryInfo);
+    /**
+     * 获取商品包含分部名称
+     * @param goodsId
+     * @return
+     */
+    Goods getDetail(Integer goodsId);
 }

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/IndexErrDataRecordService.java

@@ -83,5 +83,4 @@ public interface IndexErrDataRecordService extends BaseService<Long, IndexErrDat
      * @return com.ym.mec.common.page.PageInfo<java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleEndDto>>
      */
     PageInfo<CourseScheduleEndDto> queryHistoryErrCourseData(EndCourseScheduleQueryInfo queryInfo);
-
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberFeeSettingService.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.MemberFeeSetting;
+import com.ym.mec.common.service.BaseService;
+
+public interface MemberFeeSettingService extends BaseService<Integer, MemberFeeSetting> {
+
+    MemberFeeSetting findByRankIdAndOrganId(Integer organId, Integer rankId);
+}

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberPrivilegesItemService.java

@@ -0,0 +1,21 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
+import com.ym.mec.biz.dal.page.MemberPrivilegesItemQueryInfo;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.service.BaseService;
+
+import java.util.List;
+
+public interface MemberPrivilegesItemService extends BaseService<Integer, MemberPrivilegesItem> {
+
+    void recursiveDel(Integer id);
+
+    PageInfo<MemberPrivilegesItem> queryItemPage(MemberPrivilegesItemQueryInfo queryInfo);
+
+    List<MemberPrivilegesItem> findAllItem(MemberPrivilegesItemQueryInfo queryInfo);
+
+    void updateItem(MemberPrivilegesItem memberPrivilegesItem);
+
+    void add(MemberPrivilegesItem memberPrivilegesItem);
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankOrganizationFeeMapperService.java

@@ -0,0 +1,11 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
+import com.ym.mec.common.service.BaseService;
+
+public interface MemberRankOrganizationFeeMapperService extends BaseService<Integer,MemberRankOrganizationFeeMapper>{
+
+    void add(MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper);
+
+    void updateFee(MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper);
+}

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankPrivilegesService.java

@@ -0,0 +1,17 @@
+package com.ym.mec.biz.service;
+
+import java.util.List;
+
+import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
+import com.ym.mec.biz.dal.entity.MemberRankPrivileges;
+import com.ym.mec.common.service.BaseService;
+
+public interface MemberRankPrivilegesService extends BaseService<Integer, MemberRankPrivileges> {
+
+	/**
+	 * 获取指定会员等级的特权项目(树状结构)
+	 * @param memberRankId 会员等级编号
+	 * @return
+	 */
+	List<MemberPrivilegesItem> queryByMemberRankId(Integer memberRankId);
+}

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java

@@ -0,0 +1,39 @@
+package com.ym.mec.biz.service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+import com.ym.mec.biz.dal.entity.MemberRankSetting;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.enums.PeriodEnum;
+import com.ym.mec.common.service.BaseService;
+
+public interface MemberRankSettingService extends BaseService<Integer, MemberRankSetting> {
+
+	void add(MemberRankSetting memberRankSetting);
+
+	MemberRankSetting getDetail(Integer memberRankSettingId);
+
+	void updateSetting(MemberRankSetting memberRankSetting);
+
+	List<MemberRankSetting> queryListByIsDefault(Boolean isDefault);
+
+	/**
+	 * 会员购买
+	 * @param userId 会员编号
+	 * @param memberRankId 会员等级编号
+	 * @param periodEnum 会员周期
+	 * @param amount 金额
+	 * @param isUseBalance 是否使用余额
+	 * @return
+	 */
+	Map buy(Integer userId, Integer memberRankId, PeriodEnum periodEnum, BigDecimal amount, boolean isUseBalance) throws Exception;
+	
+	/**
+	 * 订单回调
+	 * @param studentPaymentOrder
+	 * @return
+	 */
+	boolean orderCallback(StudentPaymentOrder studentPaymentOrder);
+}

+ 3 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java

@@ -25,7 +25,7 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
      * @param ids
      * @return
      */
-    void updateExpectAmount(BigDecimal expectAmount,String ids);
+    void updateExpectAmount(BigDecimal expectAmount,BigDecimal expectMemberAmount,String ids);
 
     /**
      * 开启缴费
@@ -49,19 +49,12 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
     /**
      * 乐团缴费记录新增学员
      * @param musicGroupPaymentCalenderId
-     * @param userId
-     */
-    void add(Long musicGroupPaymentCalenderId, Integer userId);
-
-    /**
-     * 乐团缴费记录新增学员
-     * @param musicGroupPaymentCalenderId
      * @param userIdList
      */
-    void batchAdd(Long musicGroupPaymentCalenderId, Set<Integer> userIdList);
+    void batchAdd(Long musicGroupPaymentCalenderId, Set<Integer> userIdList,MusicGroup musicGroup);
 
     /**
-     * 乐团缴费记录新增学员
+     * 跨团合班新增学员
      * @param musicGroupPaymentCalender
      * @param musicGroupPaymentCalenderStudentDetails
      */

+ 15 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -40,7 +40,15 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	 */
 	boolean makesureSchoolePaid(Long id, String memo);
 
-	void addStudent(MusicGroupPaymentCalender musicGroupPaymentCalender,List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList);
+	/**
+	 * 进行中加学员
+	 * @param musicGroupPaymentCalender
+	 * @param musicGroupPaymentCalenderCourseSettingsList
+	 * @param musicGroup
+	 */
+	void addStudent(MusicGroupPaymentCalender musicGroupPaymentCalender,
+					List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList,
+					MusicGroup musicGroup);
 
 
 		/**
@@ -160,4 +168,10 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	 * @return com.ym.mec.biz.dal.entity.MusicGroupStudentFee
 	 */
 	void pushWaitRenewMessage(Long calenderId, MusicGroup musicGroup, Set<Integer> studentIds);
+
+	/**
+	 * 待审核缴费撤回
+	 * @param batchNo
+	 */
+	void revoke(String batchNo);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupSchoolTermCourseDetailService.java

@@ -0,0 +1,14 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermCourseDetail;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.service.BaseService;
+
+public interface MusicGroupSchoolTermCourseDetailService extends BaseService<Integer, MusicGroupSchoolTermCourseDetail> {
+
+    MusicGroupSchoolTermCourseDetail findByMusicGroupId(String musicGroupId);
+
+    HttpResponseResult upset(MusicGroupSchoolTermCourseDetail musicGroupSchoolTermCourseDetail);
+
+    void musicSchoolTermPush();
+}

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupSchoolTermStudentCourseDetailService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermStudentCourseDetail;
+import com.ym.mec.common.service.BaseService;
+
+public interface MusicGroupSchoolTermStudentCourseDetailService extends BaseService<Long, MusicGroupSchoolTermStudentCourseDetail> {
+
+}

+ 11 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -8,12 +8,9 @@ import java.util.Map;
 import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPreRegistration;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
+import com.ym.mec.biz.dal.page.MusicMemberQueryInfo;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -171,7 +168,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-								  boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
+								  boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
 
 	/**
 	 * 一键退团
@@ -186,7 +183,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	boolean directQuitMusicGroup(String musicGroupId, Integer userId, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-								 boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
+								 boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
 
 	/**
 	 *  续费
@@ -372,4 +369,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	List<MusicGroup> findByCooperationId(Integer cooperationId);
+
+	/**
+	 * 获取乐团已经过期或者即将过期的学员列表
+	 * @param musicMemberQueryInfo
+	 * @return
+	 */
+	PageInfo<MusicMemberDto> queryMusicMemberList(MusicMemberQueryInfo musicMemberQueryInfo);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.dto.StudentPaymentOrderDto;
 import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
@@ -20,6 +21,8 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface StudentPaymentOrderService extends BaseService<Long, StudentPaymentOrder> {
+	
+	Map createOrder(StudentPaymentOrder studentPaymentOrder, List<StudentPaymentOrderDetail> details, String payReceiver) throws Exception;
 
     /**
      * 查询商品列表

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentServeService.java

@@ -69,4 +69,9 @@ public interface StudentServeService {
      * 更新学生服务指标
      */
     void closeStudentServiceTag();
+
+    /**
+     * 解除会员
+     */
+    void cleanStudentMember();
 }

+ 28 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -1,12 +1,12 @@
 package com.ym.mec.biz.service;
 
 import java.text.ParseException;
+import java.util.List;
 
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.enums.GradeTypeEnum;
-import org.springframework.http.ResponseEntity;
-
 import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.enums.GradeTypeEnum;
+import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.dal.page.StudentQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -66,4 +66,29 @@ public interface StudentService extends BaseService<Integer, Student> {
      * @return
      */
     CooperationOrgan getStudentEduTeacher(Integer userId);
+
+    /**
+     * 更新学员会员信息
+     */
+    void updateMemberRank(Integer userId, Integer rankSettingId, PeriodEnum periodEnum, int quantityPerPeriod);
+
+    /**
+     * 更新学员会员信息
+     */
+    void batchUpdateMemberRank(List<Integer> studentIds, Integer rankSettingId, PeriodEnum periodEnum, int quantityPerPeriod);
+
+    /**
+     * 更新服务指标
+     * @param studentId
+     * @param studentIds
+     * @param serviceTag
+     */
+    void updateStudentServiceTag(Integer studentId,List<Integer> studentIds,Integer serviceTag);
+
+    List<String> getStudentNames(List<Integer> studentIdList);
+
+    Student getLocked(Integer userId);
+
+    void cleanMember(Integer userId);
+
 }

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -213,8 +213,21 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     String WARNING_MIN_COURSE_SALARY = "warning_min_course_salary";
 
+    //提醒乐团主管排下学期的课程的时间节点(默认提前14天)
+    String REMIND_COURSE_TIME = "remind_course_time";
+
+    //会员结束前15天提醒学员续费(默认提前15天)
+    String PUSH_MEMBER_RENEW = "push_member_renew";
+    //会员结束前15天提醒学员续费(默认提前5天)
+    String PUSH_MEMBER_RENEW_AGAIN = "push_member_renew_again";
+
+    //会员结束前5天提醒学员续费(退团提醒)(默认提前5天)
+    String PUSH_MEMBER_RENEW_QUIT = "push_member_renew_quit";
+
     String CHILDREN_DAY_VIP_ACTIVITY_IDS = "children_day_vip_activity_ids";
 
+    String HOMEWORK_OPEN_FLAG = "homework_open_flag";
+
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/UploadFileService.java

@@ -31,7 +31,7 @@ public class UploadFileService {
 	private int maxSize;
 
 	/** 支持的扩展名 */
-	@Value("${common.upload.supportExtensions:jpg,jpeg,gif,png,mp3,mid,midi,aac,m4a,mp4,xml}")
+	@Value("${common.upload.supportExtensions:jpg,jpeg,gif,png,mp3,mid,midi,aac,m4a,mp4,xml,xlsx,xls,doc,docx,txt,pdf}")
 	private String supportExtensions;
 
 	/** 文件根目录 */

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است