Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec into zouxuan

zouxuan 5 years ago
parent
commit
194281caf0
100 changed files with 3574 additions and 182 deletions
  1. 20 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java
  2. 6 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java
  3. 6 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java
  4. 6 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java
  5. 3 0
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  6. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleComplaintsDao.java
  7. 83 26
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  8. 62 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java
  9. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleReviewDao.java
  10. 29 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java
  11. 99 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
  12. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CoursesGroupDao.java
  13. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesMessageDao.java
  14. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesReplyDao.java
  15. 48 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GroupDao.java
  16. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupNoticeDao.java
  17. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java
  18. 13 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkReplyDao.java
  19. 19 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java
  20. 36 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java
  21. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  22. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysTenantAccountDetailDao.java
  23. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java
  24. 39 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherSalaryComplaintsDao.java
  25. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherSalaryModifyLogDao.java
  26. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BaseMapDto.java
  27. 118 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseGroupExportDto.java
  28. 92 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseGroupExtendDto.java
  29. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java
  30. 62 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseTeacherSalaryStatisticsDto.java
  31. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExtraExerciseStudentsDto.java
  32. 62 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/GroupBaseCourseInfoDto.java
  33. 50 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/GroupUserDto.java
  34. 29 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PageInfoTenantDto.java
  35. 40 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/Practice4ExercisesSituationDto.java
  36. 136 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/Practice4OrganDto.java
  37. 140 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/Student4operating.java
  38. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentBuyPracticeDto.java
  39. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentCourseHomeworkCommentDto.java
  40. 54 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentCourseTimesDto.java
  41. 40 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentExercisesSituationDto.java
  42. 36 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageCourseListDto.java
  43. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java
  44. 233 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCourseSalaryDetail4WebDto.java
  45. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherPersonalAttendanceDto.java
  46. 48 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherVipSalaryDto.java
  47. 99 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/practiceStatisDto.java
  48. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java
  49. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleReview.java
  50. 31 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java
  51. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercises.java
  52. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercisesMessage.java
  53. 23 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercisesReply.java
  54. 41 24
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupNotice.java
  55. 44 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java
  56. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseHomework.java
  57. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseHomeworkReply.java
  58. 158 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentExtracurricularExercisesSituation.java
  59. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysSuggestion.java
  60. 16 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysTenantAccountDetail.java
  61. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Teacher.java
  62. 128 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherSalaryComplaints.java
  63. 106 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherSalaryModifyLog.java
  64. 11 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantPaymentOrder.java
  65. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java
  66. 39 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ImSendTypeEnum.java
  67. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  68. 37 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/TeacherSalaryComplaintsStatusEnum.java
  69. 32 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/TeacherSalaryConfirmStatus.java
  70. 101 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/CourseSalaryQueryInfo4Web.java
  71. 5 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExtraExercilseQueryInfo.java
  72. 35 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExtraExercilseReplyQueryInfo.java
  73. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GroupNoticeQueryInfo.java
  74. 52 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GroupQueryInfo.java
  75. 100 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentExercisesSituationQueryInfo.java
  76. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageAttendanceQueryInfo.java
  77. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java
  78. 77 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentOperatingQueryInfo.java
  79. 46 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherSalaryModifyQueryInfo.java
  80. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TenantAccountDetailQueryInfo.java
  81. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TenantPaymentOrderQueryInfo.java
  82. 61 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleTeacherSalaryService.java
  83. 19 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CoursesGroupService.java
  84. 19 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesReplyService.java
  85. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupNoticeService.java
  86. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentExtracurricularExercisesSituationService.java
  87. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java
  88. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java
  89. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  90. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  91. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountDetailService.java
  92. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountService.java
  93. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherSalaryComplaintsService.java
  94. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherSalaryModifyLogService.java
  95. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/service/TenantPaymentOrderService.java
  96. 30 8
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java
  97. 3 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  98. 8 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java
  99. 60 54
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java
  100. 19 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

+ 20 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -113,6 +113,26 @@ public class SysUser implements Serializable{
 	@ApiModelProperty(value = "是否是超管",required = false)
 	private Boolean isSuperAdmin = false;
 
+	private Integer serviceTag;
+
+	private Integer operatingTag;
+
+	public Integer getServiceTag() {
+		return serviceTag;
+	}
+
+	public void setServiceTag(Integer serviceTag) {
+		this.serviceTag = serviceTag;
+	}
+
+	public Integer getOperatingTag() {
+		return operatingTag;
+	}
+
+	public void setOperatingTag(Integer operatingTag) {
+		this.operatingTag = operatingTag;
+	}
+
 	public String getCurrentGrade() {
 		return currentGrade;
 	}

+ 6 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -79,4 +79,10 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @param imToken
 	 */
 	void refreshImToken(@Param("userId") Integer userId, @Param("imToken") String imToken);
+
+	/**
+	 * 保存student
+	 * @param userId
+	 */
+    void saveStudent(@Param("userId") Integer userId);
 }

+ 6 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -97,4 +97,10 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 * @param sysUser
 	 */
     void refreshImToken(SysUser sysUser);
+
+	/**
+	 * 保存student数据
+	 * @param userId
+	 */
+	void saveStudent(Integer userId);
 }

+ 6 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -169,6 +169,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 				sysUser.setUserType("STUDENT");
 				sysUser.setOrganId(lesseeOrganId);
 				sysUserDao.insert(sysUser);
+				sysUserService.saveStudent(sysUser.getId());
 				//添加用户现金账户
 				imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
 				userFeignService.createCashAccount(sysUser.getId());
@@ -205,4 +206,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		sysUserDao.refreshImToken(sysUser.getId(),sysUser.getImToken());
 	}
 
+	@Override
+	public void saveStudent(Integer userId) {
+		sysUserDao.saveStudent(userId);
+	}
+
 }

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -80,6 +80,9 @@
         (user_id_,available_minutes_,frozen_minutes_,status_,create_time_,update_time_)
 		VALUES(#{userId},0,0,1,NOW(),NOW())
     </insert>
+    <insert id="saveStudent">
+        INSERT INTO student (user_id_,create_time_,update_time_) VALUES(#{userId},NOW(),NOW())
+    </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.auth.api.entity.SysUser">

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

@@ -56,4 +56,16 @@ public interface CourseScheduleComplaintsDao extends BaseDAO<Long, CourseSchedul
      * @return
      */
     List<CourseScheduleComplaints> findComplaintsByCourseScheduleIds(@Param("ids") List<Long> ids);
+
+    /**
+     * 删除申述
+     * @param courseScheduleId
+     */
+    void delByCourseScheduleId(@Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * 删除申述
+     * @param courseScheduleIds
+     */
+    void delByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 }

+ 83 - 26
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -188,14 +188,14 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("teacherId") Long teacherId, @Param("type") String type);
 
     /**
-     * @describe 获取指定日期的课程
-     * @author Joburgess
-     * @date 2020/3/10
      * @param teacherId: 教师编号
      * @param classDate: 上课日期
      * @param groupId:
      * @param groupType:
      * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
+     * @describe 获取指定日期的课程
+     * @author Joburgess
+     * @date 2020/3/10
      */
     List<CourseScheduleDto> findCourseSchedulesWithDate(@Param("teacherId") Integer teacherId,
                                                         @Param("classDate") Date classDate,
@@ -244,23 +244,35 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                       @Param("groupType") GroupType groupType);
 
     /**
-     * @describe 获取团体下未开始的课程
-     * @author Joburgess
-     * @date 2020/3/4
      * @param groupId:
      * @param groupType:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     * @describe 获取团体下未开始的课程
+     * @author Joburgess
+     * @date 2020/3/4
      */
     List<CourseSchedule> findGroupNotStartCourses(@Param("groupId") String groupId,
                                                   @Param("groupType") GroupType groupType);
 
+
     /**
-     * @describe 更新课程组下课程的名字
+     * @param groupId:
+     * @param groupType:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     * @describe 获取团体下未结束的课程
      * @author Joburgess
-     * @date 2020/3/5
+     * @date 2020/3/4
+     */
+    List<CourseSchedule> findGroupNotFinishCourses(@Param("groupId") String groupId,
+                                                   @Param("groupType") GroupType groupType);
+
+    /**
      * @param groupId:
      * @param groupType:
      * @return int
+     * @describe 更新课程组下课程的名字
+     * @author Joburgess
+     * @date 2020/3/5
      */
     int updateCourseNameByGroup(@Param("groupId") String groupId,
                                 @Param("groupType") GroupType groupType,
@@ -314,14 +326,14 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Date> getTeacherCourseScheduleDate(@Param("teacherId") Long teacherId, @Param("month") Date month, @Param("type") String type);
 
     /**
-     * @describe 获取在指定月份有课的日期
-     * @author Joburgess
-     * @date 2020/3/10
      * @param teacherId: 教师编号
-     * @param month: 月份
-     * @param groupId: 课程组编号
+     * @param month:     月份
+     * @param groupId:   课程组编号
      * @param groupType: 课程组类型
      * @return java.util.List<java.util.Date>
+     * @describe 获取在指定月份有课的日期
+     * @author Joburgess
+     * @date 2020/3/10
      */
     List<Date> findHaveClassesDatesWithMonth(@Param("teacherId") Integer teacherId,
                                              @Param("month") Date month,
@@ -492,7 +504,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<CourseSchedule> queryFinishedWithNoUpdateStatus();
-    
+
     /**
      * 查询进行中未更新状态的课程列表
      *
@@ -520,13 +532,14 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<TeacherClassCourseSchudeleDto> queryTeacherClassCourseSchedule(Map<String, Object> params);
 
     /**
+     * @param params
+     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
      * @describe 获取教师指定乐团下的课程
      * @author Joburgess
      * @date 2020/3/8
-     * @param params
-     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
      */
     List<TeacherClassCourseSchudeleDto> findTeacherGroupCourses(Map<String, Object> params);
+
     int countTeacherGroupCourses(Map<String, Object> params);
 
     /**
@@ -899,7 +912,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                   @Param("schoolId") Integer schoolId);
 
 
-    int countVipGroupCourses(@Param("vipGroupId") Integer vipGroupId,@Param("groupType") String groupType);
+    int countVipGroupCourses(@Param("vipGroupId") Integer vipGroupId, @Param("groupType") String groupType);
 
     /**
      * @param groupType:
@@ -1172,8 +1185,8 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                          @Param("endTime") Date endTime);
 
     List<CourseSchedule> findTeacherCoursesWithDateRangeWithoutMusicGroup(@Param("userId") Integer userId,
-                                                         @Param("startTime") Date startTime,
-                                                         @Param("endTime") Date endTime);
+                                                                          @Param("startTime") Date startTime,
+                                                                          @Param("endTime") Date endTime);
 
     /**
      * @param userId: 用户编号
@@ -1219,6 +1232,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      */
     CourseSchedule queryContinueCourse(@Param("courseSchedule") CourseSchedule courseSchedule,
                                        @Param("continueCourseTime") String continueCourseTime, @Param("endDateTime") String endDateTime);
+
     /**
      * 获取当前课程,下一次连堂课
      *
@@ -1227,7 +1241,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     CourseSchedule queryRepairContinueCourse(@Param("courseSchedule") CourseSchedule courseSchedule,
-                                       @Param("continueCourseTime") String continueCourseTime, @Param("endDateTime") String endDateTime);
+                                             @Param("continueCourseTime") String continueCourseTime, @Param("endDateTime") String endDateTime);
 
     /**
      * 获取单节课时长
@@ -1328,29 +1342,30 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> findClassGroupLastTeacher(@Param("classGroupIds") List<Integer> classGroupIds);
 
     /**
-     * @describe 获取团体课次信息
-     * @author Joburgess
-     * @date 2020/3/8
      * @param groupIds:
      * @param groupType:
      * @return java.util.List<com.ym.mec.biz.dal.dto.GroupCourseTimesDto>
+     * @describe 获取团体课次信息
+     * @author Joburgess
+     * @date 2020/3/8
      */
     List<GroupCourseTimesDto> findGroupsCourseTimesInfo(@Param("groupIds") List<String> groupIds,
                                                         @Param("groupType") GroupType groupType);
 
     /**
-     * @describe 获取课程组有效期
-     * @author Joburgess
-     * @date 2020/3/18
      * @param groupIds:
      * @param groupType:
      * @return java.util.List<com.ym.mec.biz.dal.dto.GroupValidDateDto>
+     * @describe 获取课程组有效期
+     * @author Joburgess
+     * @date 2020/3/18
      */
     List<GroupValidDateDto> findGroupsValidate(@Param("groupIds") List<String> groupIds,
                                                @Param("groupType") GroupType groupType);
 
     /**
      * 获取当前课程声部
+     *
      * @param courseScheduleId
      * @return
      */
@@ -1358,6 +1373,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 教师端中间页网络教室课程进度列表
+     *
      * @param groupId
      * @param groupType
      * @return
@@ -1366,6 +1382,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取最后一次已结束的课程
+     *
      * @param groupId
      * @param groupType
      * @return
@@ -1374,6 +1391,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 根据课程组获取课表信息
+     *
      * @param groupType
      * @param groupId
      * @return
@@ -1382,8 +1400,47 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取老师正常签退的课程
+     *
      * @param month
      * @return
      */
     List<CourseSchedule> queryScheduleByAttendance(Integer month);
+
+    /**
+     * 获取学生课程数量
+     *
+     * @param studentIds
+     * @param groupType
+     * @param status
+     * @retur
+     */
+    List<CourseGroupExportDto> getStudentCourseScheduleNum(@Param("studentIds") Set<Integer> studentIds, @Param("groupType") GroupType groupType, @Param("status") CourseStatusEnum status);
+
+    /**
+     * 获取导出VIP课信息
+     *
+     * @param organIds
+     * @return
+     */
+    List<CourseGroupExportDto> getVipGroupExport(@Param("organIds") String organIds);
+
+    /**
+     * 获取用户课程信息
+     * @param studentIds
+     * @param groupType
+     * @return
+     */
+    List<CourseGroupExportDto> getStudentCourseInfo(@Param("studentIds") Set<Integer> studentIds, @Param("groupType") GroupType groupType);
+
+    /**
+     * 获取上一次连堂课
+     * @param classGroupId
+     * @param startTime
+     * @param teacherId
+     * @return
+     */
+    CourseSchedule getLastCourse(@Param("classGroupId") Integer classGroupId,
+                                 @Param("startTime") String startTime,
+                                 @Param("teacherId") Integer teacherId,
+                                 @Param("continueCourseTime") String continueCourseTime);
 }

+ 62 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.Practice4OrganDto;
 import com.ym.mec.biz.dal.dto.PracticeGroupsDto;
 import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
@@ -99,12 +100,71 @@ public interface CourseScheduleEvaluateDao extends BaseDAO<Long, CourseScheduleE
      * @param type
      * @return
      */
-    List<PracticeGroupsDto> getMonthOrganMoney(@Param("type") OrderTypeEnum type,@Param("startTime") Date startTime);
+    List<PracticeGroupsDto> getMonthOrganMoney(@Param("type") OrderTypeEnum type, @Param("startTime") Date startTime);
 
     /**
      * 获取当月新成交金额,人数
      *
      * @return
      */
-    List<PracticeGroupsDto> getOrganNewPracticeGroupsOfMonth(@Param("type") OrderTypeEnum type,@Param("startTime") Date startTime);
+    List<PracticeGroupsDto> getOrganNewPracticeGroupsOfMonth(@Param("type") OrderTypeEnum type, @Param("startTime") Date startTime);
+
+    /**
+     * 获取分部体验人数(去除禁止)
+     *
+     * @return
+     */
+    List<Practice4OrganDto> getTryNums();
+
+    /**
+     * 网管课体验人数
+     *
+     * @return
+     */
+    List<Practice4OrganDto> getPracticeTryNums();
+
+    /**
+     * vip课体验人数
+     *
+     * @return
+     */
+    List<Practice4OrganDto> getVipTryNums();
+
+    /**
+     * 网管课转化人数
+     *
+     * @param classDate
+     * @return
+     */
+    List<Practice4OrganDto> getPracticeBuyNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate);
+
+    /**
+     * VIP课转化人数
+     *
+     * @param classDate
+     * @return
+     */
+    List<Practice4OrganDto> getVipBuyNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate);
+
+    /**
+     * 网管课和vip课同事存在的人数
+     *
+     * @param classDate
+     * @param endDate
+     * @return
+     */
+    List<Practice4OrganDto> getPracticeAndVipNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate);
+
+    /**
+     * 禁止中vip和网管同时存在人数
+     *
+     * @return
+     */
+    List<Practice4OrganDto> getPracticeAndVipTryNums();
+
+    /**
+     * 获取所有的体验人数
+     * @return
+     */
+    List<Practice4OrganDto> getAllTryNums();
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.CourseReviewDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 import com.ym.mec.common.dal.BaseDAO;
@@ -101,4 +102,16 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
      * @return
      */
     List<SysUser> findStudentByClassGroupId(@Param("classGroupId") Long classGroupId);
+
+    /**
+     * 删除课程评价
+     * @param courseScheduleId
+     */
+    void delByCourseScheduleId(@Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * 删除课程评价
+     * @param courseScheduleIds
+     */
+    void delByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 }

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

@@ -1,18 +1,22 @@
 package com.ym.mec.biz.dal.dao;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.ibatis.annotations.Param;
+
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.Practice4ExercisesSituationDto;
 import com.ym.mec.biz.dal.dto.StudentAttendanceStatisticsResponse;
+import com.ym.mec.biz.dal.dto.StudentCourseTimesDto;
 import com.ym.mec.biz.dal.dto.VipGroupGiveCourseSortDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
-import org.apache.ibatis.annotations.Param;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
 
 public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseScheduleStudentPayment> {
 
@@ -236,4 +240,23 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      * @return
      */
     List<Map<Integer,String>> getStudentIdMap(@Param("courseScheduleIds") List<Long> courseScheduleIds);
+
+    /**
+     * @describe 获取在指定时间之后不存在网管课的学员编号列表
+     * @author Joburgess
+     * @date 2020/4/10
+     * @param monday:
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Practice4ExercisesSituationDto> findNoPracticeStudentIdsOnWeek(@Param("monday")String monday,
+                                                                        @Param("sunday")String sunday);
+
+    Integer findNoPracticeStudentTeacherId(@Param("studentId") Integer studentId);
+    
+    /**
+     * 从指定时间开始查询学的线上可数
+     * @param startDate 指定的开始时间
+     * @return
+     */
+    List<StudentCourseTimesDto> queryStudentCourseTimesOfOnline(Date startDate);
 }

+ 99 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -1,17 +1,19 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
-import com.ym.mec.biz.dal.dto.ExportTeacherSalaryDto;
-import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
-import com.ym.mec.biz.dal.dto.VipGroupSalaryDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.TeacherSalaryModifyLog;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.TeacherSalaryConfirmStatus;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseScheduleTeacherSalary> {
 
@@ -60,7 +62,7 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @params [days:天数]
 	 * @describe 获取多少天之前的未结算教师课酬记录(vip课)
 	 */
-	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(@Param("days") Integer days,@Param("groupType") String groupType);
+	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(@Param("days") Integer days);
 
 	List<CourseScheduleTeacherSalary> findTemp();
 
@@ -352,10 +354,11 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	
 	/**
 	 * 获取所有线上课
-	 * @param groupType
+	 * @param startDate
+	 * @param endDate
 	 * @return
 	 */
-	List<CourseScheduleTeacherSalary> queryOnlineCourseByGroupType(GroupType groupType);
+	List<TeacherVipSalaryDto> queryOnlineCourseByGroupType(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
 	/**
 	 * 该用户是不是这个群组的老师
 	 * @param groupId
@@ -370,4 +373,92 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @return
 	 */
 	Integer countTeacherGiveLesson(Integer userId);
+
+	/**
+	 * @describe 获取课酬记录
+	 * @author Joburgess
+	 * @date 2020/4/15
+	 * @param params:
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherCourseSalaryDetail4WebDto>
+	 */
+	List<TeacherCourseSalaryDetail4WebDto> findIsSettlementCourseSalarys(Map<String, Object> params);
+
+	int countIsSettlementCourseSalarys(Map<String, Object> params);
+
+	/**
+	 * @describe 获取老师指定月份的已结算课酬编号
+	 * @author Joburgess
+	 * @date 2020/4/15
+	 * @param teacherId:
+	 * @param month:
+	 * @return java.util.List<java.lang.Long>
+	 */
+	List<Long> findTeacherSalaryIdsWithMonth(@Param("teacherId") Integer teacherId,
+											 @Param("month") String month);
+
+	/**
+	 * @describe 获取指定月份已结算的老师编号
+	 * @author Joburgess
+	 * @date 2020/4/16
+	 * @param month:
+	 * @return java.util.List<java.lang.Integer>
+	 */
+	List<Integer> findIsSettlementTeacherIdsWithMonth(@Param("month") String month);
+
+	/**
+	 * @describe 更新指定课酬的确认状态
+	 * @author Joburgess
+	 * @date 2020/4/15
+	 * @param ids:
+	 * @param confirmStatus:
+	 * @return int
+	 */
+	int updateTeacherSalaryConfirmStatus(@Param("ids") List<Long> ids,
+                                         @Param("confirmStatus") TeacherSalaryConfirmStatus confirmStatus);
+
+	/**
+	 * @describe 更新指定课酬的确认状态至已完成
+	 * @author Joburgess
+	 * @date 2020/4/16
+	 * @param ids:
+	 * @return int
+	 */
+	int updateTeacherSalaryConfirmStatusToComplied(@Param("ids") List<Long> ids);
+
+	/**
+	 * @describe 统计教师指定月份不同团体类型的课酬
+	 * @author Joburgess
+	 * @date 2020/4/15
+	 * @param month:
+	 * @param teacherId:
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.CourseTeacherSalaryStatisticsDto>
+	 */
+	List<CourseTeacherSalaryStatisticsDto> getTeacherGroupTypeSalary(@Param("month") String month,
+																 @Param("teacherId") Integer teacherId);
+
+	/**
+	 * @describe 统计教师每月的工资
+	 * @author Joburgess
+	 * @date 2020/4/15
+	 * @param teacherId:
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.CourseTeacherSalaryStatisticsDto>
+	 */
+	List<CourseTeacherSalaryStatisticsDto> getTeacherMonthSalarys(@Param("teacherId") Integer teacherId,
+																  @Param("year") String year);
+
+	/**
+	 * 调整已结算的课酬
+	 * @param modifyLog
+	 */
+    void updateSalary(@Param("modifyLog") TeacherSalaryModifyLog modifyLog);
+
+    /**
+     * @describe 统计指定月份已开启课酬确认的数量
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param month:
+     * @return int
+     */
+    int countOpenConfirmSalarysWithMonth(@Param("month") String month,
+										 @Param("confirmStatus") TeacherSalaryConfirmStatus confirmStatus);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CoursesGroupDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.CourseGroupExtendDto;
 import com.ym.mec.biz.dal.entity.CoursesGroup;
 import com.ym.mec.biz.dal.enums.GroupStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
@@ -21,6 +22,13 @@ public interface CoursesGroupDao extends BaseDAO<Long, CoursesGroup> {
     List<CoursesGroup> findTeacherCourseGroups(Map<String, Object> params);
     int countTeacherGroups(Map<String,Object> params);
 
+
+    List<CourseGroupExtendDto> findTeacherCourseGroupsWithWeb(Map<String, Object> params);
+    int countTeacherGroupsWithWeb(Map<String,Object> params);
+
+    List<CourseGroupExtendDto> findStudentCourseGroupsWithWeb(Map<String, Object> params);
+    int countStudentGroupsWithWeb(Map<String,Object> params);
+
     /**
      * @describe 获取指定教师的课程组列表
      * @author Joburgess

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesMessageDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.StudentCourseHomeworkCommentDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercisesMessage;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -12,4 +13,6 @@ public interface ExtracurricularExercisesMessageDao extends BaseDAO<Long, Extrac
     int countStudentExtraComments(Map<String, Object> params);
     List<StudentCourseHomeworkCommentDto> findStudentExtraComments(Map<String, Object> params);
 
+    List<ExtracurricularExercisesMessage> findReplyTeacherMessages(@Param("replyIds") List<Long> replyIds);
+
 }

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

@@ -59,5 +59,19 @@ public interface ExtracurricularExercisesReplyDao extends BaseDAO<Long, Extracur
      * @return int
      */
     int countIsSubmitStudents(@Param("extraExerciseId") Long extraExerciseId);
+
+    List<ExtraExerciseStudentsDto> findExtraExercises(Map<String, Object> params);
+    int countExtraExercises(Map<String, Object> params);
+
+    /**
+     * @describe 获取在指定星期内无网管课学员的课外训练
+     * @author Joburgess
+     * @date 2020/4/10
+     * @param monday:
+     * @param sunday:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply>
+     */
+    List<ExtracurricularExercisesReply> findNoPracticeStudentExercisesInWeek(@Param("monday") String monday,
+                                                                             @Param("sunday") String sunday);
 	
 }

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GroupDao.java

@@ -1,6 +1,9 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.GroupBaseCourseInfoDto;
+import com.ym.mec.biz.dal.dto.GroupUserDto;
 import com.ym.mec.biz.dal.entity.Group;
+import com.ym.mec.biz.dal.enums.GroupType;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -34,4 +37,49 @@ public interface GroupDao {
      */
     List<Group> findByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
 
+    /**
+     * @describe 统计团体学生数量
+     * @author Joburgess
+     * @date 2020/4/6
+     * @param groupIds:
+     * @param groupType:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BaseMapDto>
+     */
+    List<GroupBaseCourseInfoDto> countGroupStudentNum(@Param("groupIds") List<String> groupIds,
+                                                      @Param("groupType") GroupType groupType);
+
+    /**
+     * @describe 统计团体的总课次
+     * @author Joburgess
+     * @date 2020/4/6
+     * @param groupIds:
+     * @param groupType:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BaseMapDto>
+     */
+    List<GroupBaseCourseInfoDto> countGroupTotalClassesTimes(@Param("groupIds") List<String> groupIds,
+                                                 @Param("groupType") GroupType groupType);
+
+    /**
+     * @describe 统计团体已上课次
+     * @author Joburgess
+     * @date 2020/4/6
+     * @param groupIds:
+     * @param groupType:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BaseMapDto>
+     */
+    List<GroupBaseCourseInfoDto> countGroupFinishedClassesTimes(@Param("groupIds") List<String> groupIds,
+                                                  @Param("groupType") GroupType groupType);
+
+    /**
+     * @describe 获取团体学生
+     * @author Joburgess
+     * @date 2020/4/15
+     * @param groupIds:
+     * @param groupType:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.GroupUserDto>
+     */
+    List<GroupUserDto> findGroupsStudents(@Param("groupIds") List<String> groupIds,
+                                       @Param("groupType") GroupType groupType);
+
+
 }

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

@@ -5,5 +5,10 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface ImGroupNoticeDao extends BaseDAO<Long, ImGroupNotice> {
 
-	
+
+    /**
+     * 获取最新一条群公告
+     * @return
+     */
+    ImGroupNotice getNewNotice(Long groupId);
 }

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.CourseGroupExportDto;
 import com.ym.mec.biz.dal.dto.PracticeCourseDto;
 import com.ym.mec.biz.dal.dto.PracticeGroupDto;
 import com.ym.mec.biz.dal.dto.StudentBuyPracticeDto;
@@ -206,6 +207,7 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
 
     /**
      * 根据课程组id查询课程组详情
+     *
      * @param id
      * @return
      */
@@ -213,6 +215,7 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
 
     /**
      * COUNT网管课购买列表
+     *
      * @param params
      * @return
      */
@@ -220,8 +223,17 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
 
     /**
      * query网管课购买列表
+     *
      * @param params
      * @return
      */
     List<StudentBuyPracticeDto> queryStudentBuys(Map<String, Object> params);
+
+
+    /**
+     * 获取导出网管课信息
+     * @param organIds
+     * @return
+     */
+    List<CourseGroupExportDto> getPracticeGroupExport(@Param("organIds") String organIds);
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.StudentCourseHomeworkReply;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -20,5 +21,16 @@ public interface StudentCourseHomeworkReplyDao extends BaseDAO<Long, StudentCour
      * 根据ID批量删除
      */
     int batchDeleteReplys(List<Long> ids);
-	
+
+    /**
+     * 删除作业回复
+     * @param courseScheduleId
+     */
+    void delByCourseScheduleId(@Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * 删除作业回复
+     * @param courseScheduleIdList
+     */
+    void delByCourseScheduleIds(@Param("courseScheduleIdList") List<Long> courseScheduleIdList);
 }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.Student4operating;
 import com.ym.mec.biz.dal.entity.Student;
 import org.apache.ibatis.annotations.Param;
 
@@ -14,4 +15,22 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
 
     List<SysUser> findStudents(Map<String, Object> params);
     int countStudents(Map<String, Object> params);
+    
+    List<Student> queryByOperatingTag(Integer operatingTag);
+    
+    int batchUpdate(@Param("studentList") List<Student> studentList);
+
+    /**
+     * 查询运营学生列表
+     * @param params
+     * @return
+     */
+    List<Student4operating> getOperatingStudents(Map<String, Object> params);
+
+    /**
+     * 查询运营学生总数
+     * @param params
+     * @return
+     */
+    Integer countOperatingStudents(Map<String, Object> params);
 }

+ 36 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -0,0 +1,36 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
+import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
+import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Long, StudentExtracurricularExercisesSituation> {
+
+    /**
+     * @describe 批量插入
+     * @author Joburgess
+     * @date 2020/4/10
+     * @param situations:
+     * @return int
+     */
+    int batchInsert(@Param("situations")List<StudentExtracurricularExercisesSituation> situations);
+
+    /**
+     * @describe 根据周一日期删除统计信息
+     * @author Joburgess
+     * @date 2020/4/10
+     * @param monday:
+     * @return int
+     */
+    int deleteByMonday(@Param("monday") String monday);
+
+    List<StudentExercisesSituationDto> findExercisesSituations(Map<String, Object> params);
+    int countExercisesSituations(Map<String, Object> params);
+
+    List<StudentExercisesSituationDto> findExercisesSituationsById(@Param("ids") List<Long> ids);
+	
+}

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

@@ -318,4 +318,6 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<String> queryStudentMusicGroup(Integer studentId);
+
+    String getSubjectIds(Integer userId);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysTenantAccountDetailDao.java

@@ -3,7 +3,17 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.entity.SysTenantAccountDetail;
 import com.ym.mec.common.dal.BaseDAO;
 
+import java.util.List;
+import java.util.Map;
+
 public interface SysTenantAccountDetailDao extends BaseDAO<Long, SysTenantAccountDetail> {
 
 	SysTenantAccountDetail queryByOrderNo(String orderNo);
+
+	/**
+	 * 统计交易分钟数
+	 * @param params
+	 * @return
+	 */
+	Integer sumTransMinutes(Map<String, Object> params);
 }

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

@@ -164,7 +164,7 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 	 * 连堂课签到,签退
 	 * @param courseScheduleId
 	 */
-	void cuntinueCourseSign(@Param("courseScheduleId")Long courseScheduleId,@Param("startDateTime")Date startDateTime,@Param("endDateTime")Date endDateTime);
+	void cuntinueCourseSign(@Param("courseScheduleId")Long courseScheduleId,@Param("startDateTime")Date startDateTime,@Param("endDateTime")Date endDateTime,@Param("status")Integer status);
 
 	/**
 	 * 修改课程的签到老师

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherSalaryComplaintsDao.java

@@ -0,0 +1,39 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.TeacherSalaryComplaints;
+import com.ym.mec.biz.dal.enums.TeacherSalaryComplaintsStatusEnum;
+import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface TeacherSalaryComplaintsDao extends BaseDAO<Long, TeacherSalaryComplaints> {
+
+    /**
+     * 获取课酬申述
+     * @param settlementMonth
+     * @param teacherId
+     * @param statusEnum
+     * @return
+     */
+    TeacherSalaryComplaints findByMonthAndTeacherId(@Param("settlementMonth") String settlementMonth, @Param("teacherId") Integer teacherId, @Param("statusEnum") TeacherSalaryComplaintsStatusEnum statusEnum);
+
+    /**
+     * 撤销申述
+     * @param salarySettlementMonth
+     * @param teacherId
+     * @return
+     */
+    Integer repealComplaints(@Param("salarySettlementMonth") String salarySettlementMonth, @Param("teacherId") Integer teacherId);
+
+    /**
+     * @describe 获取教师指定月份的申诉记录
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param teacherId:
+     * @param month:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherSalaryComplaints>
+     */
+    List<TeacherSalaryComplaints> findTeacherSalaryComplaintsWithMonth(@Param("teacherId") Integer teacherId,
+                                                                       @Param("month") String month);
+}

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

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

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BaseMapDto.java

@@ -0,0 +1,28 @@
+package com.ym.mec.biz.dal.dto;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/6
+ */
+public class BaseMapDto<K, V> {
+
+    private K key;
+
+    private V value;
+
+    public K getKey() {
+        return key;
+    }
+
+    public void setKey(K key) {
+        this.key = key;
+    }
+
+    public V getValue() {
+        return value;
+    }
+
+    public void setValue(V value) {
+        this.value = value;
+    }
+}

+ 118 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseGroupExportDto.java

@@ -0,0 +1,118 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+
+import java.util.Date;
+
+
+public class CourseGroupExportDto {
+    private String organName;
+    private Integer studentId;
+    private String studentName;
+    private Integer teacherId;
+    private String teacherIds;
+    private String teacherName;
+    private Date expireDate;
+    private Date classStartDate;
+    private Date classEndDate;
+    private Integer totalClassTimes = 0;
+    private Integer noStartClassTimes = 0;
+    //是否购买
+    private YesOrNoEnum buyPractice;
+
+    public YesOrNoEnum getBuyPractice() {
+        return buyPractice;
+    }
+
+    public void setBuyPractice(YesOrNoEnum buyPractice) {
+        this.buyPractice = buyPractice;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public Date getExpireDate() {
+        return expireDate;
+    }
+
+    public void setExpireDate(Date expireDate) {
+        this.expireDate = expireDate;
+    }
+
+    public Date getClassStartDate() {
+        return classStartDate;
+    }
+
+    public void setClassStartDate(Date classStartDate) {
+        this.classStartDate = classStartDate;
+    }
+
+    public Date getClassEndDate() {
+        return classEndDate;
+    }
+
+    public void setClassEndDate(Date classEndDate) {
+        this.classEndDate = classEndDate;
+    }
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
+    public Integer getNoStartClassTimes() {
+        return noStartClassTimes;
+    }
+
+    public void setNoStartClassTimes(Integer noStartClassTimes) {
+        this.noStartClassTimes = noStartClassTimes;
+    }
+
+    public String getTeacherIds() {
+        return teacherIds;
+    }
+
+    public void setTeacherIds(String teacherIds) {
+        this.teacherIds = teacherIds;
+    }
+}

+ 92 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseGroupExtendDto.java

@@ -0,0 +1,92 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.CoursesGroup;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/6
+ */
+public class CourseGroupExtendDto extends CoursesGroup {
+
+    private Integer studentNum;
+
+    private Integer groupClassesTotalDuration;
+
+    private Integer groupClassesConsumeDuration;
+
+    private Integer totalClassTimes;
+
+    private Integer currentClassTimes;
+
+    private Date firstClassesStartTime;
+
+    private Date lastClassesEndTime;
+
+    private String teacherName;
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public Integer getStudentNum() {
+        return studentNum;
+    }
+
+    public void setStudentNum(Integer studentNum) {
+        this.studentNum = studentNum;
+    }
+
+    public Integer getGroupClassesTotalDuration() {
+        return groupClassesTotalDuration;
+    }
+
+    public void setGroupClassesTotalDuration(Integer groupClassesTotalDuration) {
+        this.groupClassesTotalDuration = groupClassesTotalDuration;
+    }
+
+    public Integer getGroupClassesConsumeDuration() {
+        return groupClassesConsumeDuration;
+    }
+
+    public void setGroupClassesConsumeDuration(Integer groupClassesConsumeDuration) {
+        this.groupClassesConsumeDuration = groupClassesConsumeDuration;
+    }
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
+    public Date getFirstClassesStartTime() {
+        return firstClassesStartTime;
+    }
+
+    public void setFirstClassesStartTime(Date firstClassesStartTime) {
+        this.firstClassesStartTime = firstClassesStartTime;
+    }
+
+    public Date getLastClassesEndTime() {
+        return lastClassesEndTime;
+    }
+
+    public void setLastClassesEndTime(Date lastClassesEndTime) {
+        this.lastClassesEndTime = lastClassesEndTime;
+    }
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -67,6 +67,8 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "学生评论id")
     private Long StudentReviewId;
 
+    private Integer studentId;
+
     private int isNew;
 
     public int getIsNew() {
@@ -238,4 +240,12 @@ public class CourseScheduleDto extends CourseSchedule {
     public void setStudentReviewId(Long studentReviewId) {
         StudentReviewId = studentReviewId;
     }
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
 }

+ 62 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseTeacherSalaryStatisticsDto.java

@@ -0,0 +1,62 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.GroupType;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/15
+ */
+public class CourseTeacherSalaryStatisticsDto {
+
+    private GroupType groupType;
+
+    private String month;
+
+    private Integer courseTimes;
+
+    private BigDecimal totalActualSalary;
+
+    private BigDecimal totalReduceSalary;
+
+    public Integer getCourseTimes() {
+        return courseTimes;
+    }
+
+    public void setCourseTimes(Integer courseTimes) {
+        this.courseTimes = courseTimes;
+    }
+
+    public String getMonth() {
+        return month;
+    }
+
+    public void setMonth(String month) {
+        this.month = month;
+    }
+
+    public GroupType getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(GroupType groupType) {
+        this.groupType = groupType;
+    }
+
+    public BigDecimal getTotalActualSalary() {
+        return totalActualSalary;
+    }
+
+    public void setTotalActualSalary(BigDecimal totalActualSalary) {
+        this.totalActualSalary = totalActualSalary;
+    }
+
+    public BigDecimal getTotalReduceSalary() {
+        return totalReduceSalary;
+    }
+
+    public void setTotalReduceSalary(BigDecimal totalReduceSalary) {
+        this.totalReduceSalary = totalReduceSalary;
+    }
+}

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

@@ -22,6 +22,34 @@ public class ExtraExerciseStudentsDto extends ExtracurricularExercisesReply {
 
     private java.util.Date expireDate;
 
+    private String statusStr;
+    private String isRepliedStr;
+    private String isViewStr;
+
+    public String getStatusStr() {
+        return statusStr;
+    }
+
+    public void setStatusStr(String statusStr) {
+        this.statusStr = statusStr;
+    }
+
+    public String getIsRepliedStr() {
+        return isRepliedStr;
+    }
+
+    public void setIsRepliedStr(String isRepliedStr) {
+        this.isRepliedStr = isRepliedStr;
+    }
+
+    public String getIsViewStr() {
+        return isViewStr;
+    }
+
+    public void setIsViewStr(String isViewStr) {
+        this.isViewStr = isViewStr;
+    }
+
     public Date getExpireDate() {
         return expireDate;
     }

+ 62 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/GroupBaseCourseInfoDto.java

@@ -0,0 +1,62 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.Group;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/6
+ */
+public class GroupBaseCourseInfoDto extends Group {
+
+    private Integer studentNum;
+
+    private Integer totalClassTimes;
+
+    private Integer currentClassTimes;
+
+    private Date firstClassesStartTime;
+
+    private Date lastClassesEndTime;
+
+    public Integer getStudentNum() {
+        return studentNum;
+    }
+
+    public void setStudentNum(Integer studentNum) {
+        this.studentNum = studentNum;
+    }
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
+    public Date getFirstClassesStartTime() {
+        return firstClassesStartTime;
+    }
+
+    public void setFirstClassesStartTime(Date firstClassesStartTime) {
+        this.firstClassesStartTime = firstClassesStartTime;
+    }
+
+    public Date getLastClassesEndTime() {
+        return lastClassesEndTime;
+    }
+
+    public void setLastClassesEndTime(Date lastClassesEndTime) {
+        this.lastClassesEndTime = lastClassesEndTime;
+    }
+}

+ 50 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/GroupUserDto.java

@@ -0,0 +1,50 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.GroupType;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/15
+ */
+public class GroupUserDto {
+
+    private String groupId;
+
+    private GroupType groupType;
+
+    private Integer userId;
+
+    private String userName;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
+    public GroupType getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(GroupType groupType) {
+        this.groupType = groupType;
+    }
+
+    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;
+    }
+}

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PageInfoTenantDto.java

@@ -0,0 +1,29 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.common.page.PageInfo;
+
+import java.math.BigDecimal;
+
+public class PageInfoTenantDto<T> extends PageInfo<T> {
+
+    private Integer totalTransMinutes = 0;
+
+    public PageInfoTenantDto() {
+    }
+
+    public PageInfoTenantDto(Integer pageNo) {
+        super(pageNo);
+    }
+
+    public PageInfoTenantDto(Integer pageNo, int pageSize) {
+        super(pageNo, pageSize);
+    }
+
+    public Integer getTotalTransMinutes() {
+        return totalTransMinutes;
+    }
+
+    public void setTotalTransMinutes(Integer totalTransMinutes) {
+        this.totalTransMinutes = totalTransMinutes;
+    }
+}

+ 40 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/Practice4ExercisesSituationDto.java

@@ -0,0 +1,40 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/12
+ */
+public class Practice4ExercisesSituationDto {
+
+    private Integer userId;
+
+    private Date courseStartTime;
+
+    private Integer actualTeacherId;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Date getCourseStartTime() {
+        return courseStartTime;
+    }
+
+    public void setCourseStartTime(Date courseStartTime) {
+        this.courseStartTime = courseStartTime;
+    }
+
+    public Integer getActualTeacherId() {
+        return actualTeacherId;
+    }
+
+    public void setActualTeacherId(Integer actualTeacherId) {
+        this.actualTeacherId = actualTeacherId;
+    }
+}

+ 136 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/Practice4OrganDto.java

@@ -0,0 +1,136 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class Practice4OrganDto {
+    @ApiModelProperty(value = "分部名称",required = false)
+    private String organName;
+    @ApiModelProperty(value = "分部编号",required = false)
+    private Integer organId;
+    @ApiModelProperty(value = "体验人数",required = false)
+    private Integer tryNum = 0;
+    @ApiModelProperty(value = "vip转化人数",required = false)
+    private Integer vipNum = 0;
+    @ApiModelProperty(value = "网管课转化人数",required = false)
+    private Integer practiceNum = 0;
+    @ApiModelProperty(value = "总转化人数",required = false)
+    private Integer totalNum = 0;
+    @ApiModelProperty(value = "当月新增Vip人数",required = false)
+    private Integer vip4MonthNum = 0;
+    @ApiModelProperty(value = "当月新增网管课人数",required = false)
+    private Integer practice4MonthNum = 0;
+    @ApiModelProperty(value = "当月续费",required = false)
+    private Integer renew4MonthNum = 0;
+    @ApiModelProperty(value = "同比上月增减人数",required = false)
+    private Integer change4MonthNum = 0;
+    @ApiModelProperty(value = "当月回款金额",required = false)
+    private BigDecimal totalMoney = BigDecimal.ZERO;
+    private Double scale =  0.00;
+
+    private String studentIds;
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public Integer getTryNum() {
+        return tryNum;
+    }
+
+    public void setTryNum(Integer tryNum) {
+        this.tryNum = tryNum;
+    }
+
+    public Integer getVipNum() {
+        return vipNum;
+    }
+
+    public void setVipNum(Integer vipNum) {
+        this.vipNum = vipNum;
+    }
+
+    public Integer getPracticeNum() {
+        return practiceNum;
+    }
+
+    public void setPracticeNum(Integer practiceNum) {
+        this.practiceNum = practiceNum;
+    }
+
+    public Integer getVip4MonthNum() {
+        return vip4MonthNum;
+    }
+
+    public void setVip4MonthNum(Integer vip4MonthNum) {
+        this.vip4MonthNum = vip4MonthNum;
+    }
+
+    public Integer getPractice4MonthNum() {
+        return practice4MonthNum;
+    }
+
+    public void setPractice4MonthNum(Integer practice4MonthNum) {
+        this.practice4MonthNum = practice4MonthNum;
+    }
+
+    public Integer getRenew4MonthNum() {
+        return renew4MonthNum;
+    }
+
+    public void setRenew4MonthNum(Integer renew4MonthNum) {
+        this.renew4MonthNum = renew4MonthNum;
+    }
+
+    public Integer getChange4MonthNum() {
+        return change4MonthNum;
+    }
+
+    public void setChange4MonthNum(Integer change4MonthNum) {
+        this.change4MonthNum = change4MonthNum;
+    }
+
+    public BigDecimal getTotalMoney() {
+        return totalMoney;
+    }
+
+    public void setTotalMoney(BigDecimal totalMoney) {
+        this.totalMoney = totalMoney;
+    }
+
+    public String getStudentIds() {
+        return studentIds;
+    }
+
+    public void setStudentIds(String studentIds) {
+        this.studentIds = studentIds;
+    }
+
+    public Integer getTotalNum() {
+        return totalNum;
+    }
+
+    public void setTotalNum(Integer totalNum) {
+        this.totalNum = totalNum;
+    }
+
+    public Double getScale() {
+        return scale;
+    }
+
+    public void setScale(Double scale) {
+        this.scale = scale;
+    }
+}

+ 140 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/Student4operating.java

@@ -0,0 +1,140 @@
+package com.ym.mec.biz.dal.dto;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+public class Student4operating {
+
+private String organName;
+private String organId;
+private String studentName;
+private Integer studentId;
+private String teacherId;
+private String teacherName;
+private Integer operatingTag;
+private Integer vipTimes;
+private Integer freePracticeTimes;
+private Integer buyPracticeTimes;
+
+private String operatingTagStr;
+private String vipTimesStr;
+private String freePracticeTimesStr;
+private String buyPracticeTimesStr;
+
+
+	public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public String getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(String organId) {
+		this.organId = organId;
+	}
+
+	public String getStudentName() {
+		return studentName;
+	}
+
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+
+	public Integer getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Integer studentId) {
+		this.studentId = studentId;
+	}
+
+	public String getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(String teacherId) {
+		this.teacherId = teacherId;
+	}
+
+	public String getTeacherName() {
+		return teacherName;
+	}
+
+	public void setTeacherName(String teacherName) {
+		this.teacherName = teacherName;
+	}
+
+	public Integer getOperatingTag() {
+		return operatingTag;
+	}
+
+	public void setOperatingTag(Integer operatingTag) {
+		this.operatingTag = operatingTag;
+	}
+
+	public Integer getVipTimes() {
+		return vipTimes;
+	}
+
+	public void setVipTimes(Integer vipTimes) {
+		this.vipTimes = vipTimes;
+	}
+
+	public Integer getFreePracticeTimes() {
+		return freePracticeTimes;
+	}
+
+	public void setFreePracticeTimes(Integer freePracticeTimes) {
+		this.freePracticeTimes = freePracticeTimes;
+	}
+
+	public Integer getBuyPracticeTimes() {
+		return buyPracticeTimes;
+	}
+
+	public void setBuyPracticeTimes(Integer buyPracticeTimes) {
+		this.buyPracticeTimes = buyPracticeTimes;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+	public String getOperatingTagStr() {
+		return operatingTagStr;
+	}
+
+	public void setOperatingTagStr(String operatingTagStr) {
+		this.operatingTagStr = operatingTagStr;
+	}
+
+	public String getVipTimesStr() {
+		return vipTimesStr;
+	}
+
+	public void setVipTimesStr(String vipTimesStr) {
+		this.vipTimesStr = vipTimesStr;
+	}
+
+	public String getFreePracticeTimesStr() {
+		return freePracticeTimesStr;
+	}
+
+	public void setFreePracticeTimesStr(String freePracticeTimesStr) {
+		this.freePracticeTimesStr = freePracticeTimesStr;
+	}
+
+	public String getBuyPracticeTimesStr() {
+		return buyPracticeTimesStr;
+	}
+
+	public void setBuyPracticeTimesStr(String buyPracticeTimesStr) {
+		this.buyPracticeTimesStr = buyPracticeTimesStr;
+	}
+}

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

@@ -11,6 +11,12 @@ public class StudentBuyPracticeDto {
     //学员名称
     private String studentName;
 
+    //老师名
+    private String teacherName;
+
+    //老师名
+    private String courseGroupTeacherName;
+
     //分部
     private String organName;
 
@@ -29,6 +35,22 @@ public class StudentBuyPracticeDto {
     //时间差
     private int intervalDay;
 
+    public String getCourseGroupTeacherName() {
+        return courseGroupTeacherName;
+    }
+
+    public void setCourseGroupTeacherName(String courseGroupTeacherName) {
+        this.courseGroupTeacherName = courseGroupTeacherName;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
     public Long getStudentId() {
         return studentId;
     }

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -34,9 +35,19 @@ public class StudentCourseHomeworkCommentDto {
     /**  */
     private java.util.Date createTime;
 
+    private ImSendTypeEnum msgType;
+
     @ApiModelProperty(value = "回复",required = false)
     private List<StudentCourseHomeworkCommentDto> replys;
 
+    public ImSendTypeEnum getMsgType() {
+        return msgType;
+    }
+
+    public void setMsgType(ImSendTypeEnum msgType) {
+        this.msgType = msgType;
+    }
+
     public Integer getIsTeacher() {
         return isTeacher;
     }

+ 54 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentCourseTimesDto.java

@@ -0,0 +1,54 @@
+package com.ym.mec.biz.dal.dto;
+
+public class StudentCourseTimesDto {
+
+	private Integer userId;
+	
+	private Integer totalCourseTimes;
+	
+	private Integer vipCourseTimes;
+	
+	private Integer practiceCourseTimes;
+	
+	private Integer freePracticeCourseTimes;
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public Integer getTotalCourseTimes() {
+		return totalCourseTimes;
+	}
+
+	public void setTotalCourseTimes(Integer totalCourseTimes) {
+		this.totalCourseTimes = totalCourseTimes;
+	}
+
+	public Integer getVipCourseTimes() {
+		return vipCourseTimes;
+	}
+
+	public void setVipCourseTimes(Integer vipCourseTimes) {
+		this.vipCourseTimes = vipCourseTimes;
+	}
+
+	public Integer getPracticeCourseTimes() {
+		return practiceCourseTimes;
+	}
+
+	public void setPracticeCourseTimes(Integer practiceCourseTimes) {
+		this.practiceCourseTimes = practiceCourseTimes;
+	}
+
+	public Integer getFreePracticeCourseTimes() {
+		return freePracticeCourseTimes;
+	}
+
+	public void setFreePracticeCourseTimes(Integer freePracticeCourseTimes) {
+		this.freePracticeCourseTimes = freePracticeCourseTimes;
+	}
+}

+ 40 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentExercisesSituationDto.java

@@ -0,0 +1,40 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/10
+ */
+public class StudentExercisesSituationDto extends StudentExtracurricularExercisesSituation {
+
+    private String studentName;
+
+    private String organName;
+
+    private String teacherName;
+
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+}

+ 36 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageCourseListDto.java

@@ -1,12 +1,12 @@
 package com.ym.mec.biz.dal.dto;
 
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-
+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.StudentAttendanceStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
 
 /**
  * @Author Joburgess
@@ -23,8 +23,13 @@ public class StudentManageCourseListDto {
     @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
     private ClassGroupTypeEnum classGroupType;
 
+    private CourseSchedule.CourseScheduleType courseScheduleType;
+
     @ApiModelProperty(value = "上课日期",required = false)
     private Date courseDate;
+    
+    @ApiModelProperty(value = "下课日期",required = false)
+    private Date courseEndDate;
 
     @ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退",required = false)
     private CourseStatusEnum courseStatus;
@@ -40,6 +45,17 @@ public class StudentManageCourseListDto {
 
     @ApiModelProperty(value = "总课时",required = false)
     private Integer totalClassTimes;
+    
+    @ApiModelProperty(value = "课程编号",required = false)
+    private Long courseScheduleId;
+
+    public CourseSchedule.CourseScheduleType getCourseScheduleType() {
+        return courseScheduleType;
+    }
+
+    public void setCourseScheduleType(CourseSchedule.CourseScheduleType courseScheduleType) {
+        this.courseScheduleType = courseScheduleType;
+    }
 
     public Integer getTotalClassTimes() {
         return totalClassTimes;
@@ -112,4 +128,20 @@ public class StudentManageCourseListDto {
     public void setTeacherName(String teacherName) {
         this.teacherName = teacherName;
     }
+
+	public Date getCourseEndDate() {
+		return courseEndDate;
+	}
+
+	public void setCourseEndDate(Date courseEndDate) {
+		this.courseEndDate = courseEndDate;
+	}
+
+	public Long getCourseScheduleId() {
+		return courseScheduleId;
+	}
+
+	public void setCourseScheduleId(Long courseScheduleId) {
+		this.courseScheduleId = courseScheduleId;
+	}
 }

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

@@ -58,6 +58,10 @@ public class StudentManageListDto {
 
     private Integer organId;
 
+    private YesOrNoEnum serviceTag;
+
+    private YesOrNoEnum operatingTag;
+
     private String organName;
 
     private String subjectName;
@@ -68,6 +72,22 @@ public class StudentManageListDto {
 
     private String vipGroupStatus;
 
+    public YesOrNoEnum getServiceTag() {
+        return serviceTag;
+    }
+
+    public void setServiceTag(YesOrNoEnum serviceTag) {
+        this.serviceTag = serviceTag;
+    }
+
+    public YesOrNoEnum getOperatingTag() {
+        return operatingTag;
+    }
+
+    public void setOperatingTag(YesOrNoEnum operatingTag) {
+        this.operatingTag = operatingTag;
+    }
+
     public Integer getOrganId() {
         return organId;
     }

+ 233 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCourseSalaryDetail4WebDto.java

@@ -0,0 +1,233 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.TeacherSalaryConfirmStatus;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/15
+ */
+public class TeacherCourseSalaryDetail4WebDto {
+
+    private Long id;
+
+    private Integer organId;
+
+    private String organName;
+
+    private GroupType groupType;
+
+    private Long courseScheduleId;
+
+    private Date startClassTime;
+
+    private Date endClassTime;
+
+    private String courseName;
+
+    private Integer teacherId;
+
+    private String teacherName;
+
+    private java.util.Date signInTime;
+
+    private YesOrNoEnum signInStatus;
+    private String signInStatusStr;
+
+    private Date signOutTime;
+
+    private YesOrNoEnum signOutStatus;
+    private String signOutStatusStr;
+
+    private java.math.BigDecimal expectSalary;
+
+    private java.math.BigDecimal actualSalary;
+
+    private BigDecimal reduceSalary;
+
+    private BigDecimal finalSalary;
+
+    private TeacherSalaryConfirmStatus confirmStatus;
+
+    private String memo;
+
+    public String getSignInStatusStr() {
+        return signInStatusStr;
+    }
+
+    public void setSignInStatusStr(String signInStatusStr) {
+        this.signInStatusStr = signInStatusStr;
+    }
+
+    public String getSignOutStatusStr() {
+        return signOutStatusStr;
+    }
+
+    public void setSignOutStatusStr(String signOutStatusStr) {
+        this.signOutStatusStr = signOutStatusStr;
+    }
+
+    public BigDecimal getFinalSalary() {
+        return finalSalary;
+    }
+
+    public void setFinalSalary(BigDecimal finalSalary) {
+        this.finalSalary = finalSalary;
+    }
+
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public GroupType getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(GroupType groupType) {
+        this.groupType = groupType;
+    }
+
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public Date getSignInTime() {
+        return signInTime;
+    }
+
+    public void setSignInTime(Date signInTime) {
+        this.signInTime = signInTime;
+    }
+
+    public YesOrNoEnum getSignInStatus() {
+        return signInStatus;
+    }
+
+    public void setSignInStatus(YesOrNoEnum signInStatus) {
+        this.signInStatus = signInStatus;
+    }
+
+    public YesOrNoEnum getSignOutStatus() {
+        return signOutStatus;
+    }
+
+    public void setSignOutStatus(YesOrNoEnum signOutStatus) {
+        this.signOutStatus = signOutStatus;
+    }
+
+    public Date getSignOutTime() {
+        return signOutTime;
+    }
+
+    public void setSignOutTime(Date signOutTime) {
+        this.signOutTime = signOutTime;
+    }
+
+    public BigDecimal getExpectSalary() {
+        return expectSalary;
+    }
+
+    public void setExpectSalary(BigDecimal expectSalary) {
+        this.expectSalary = expectSalary;
+    }
+
+    public BigDecimal getActualSalary() {
+        return actualSalary;
+    }
+
+    public void setActualSalary(BigDecimal actualSalary) {
+        this.actualSalary = actualSalary;
+    }
+
+    public BigDecimal getReduceSalary() {
+        return reduceSalary;
+    }
+
+    public void setReduceSalary(BigDecimal reduceSalary) {
+        this.reduceSalary = reduceSalary;
+    }
+
+    public TeacherSalaryConfirmStatus getConfirmStatus() {
+        return confirmStatus;
+    }
+
+    public void setConfirmStatus(TeacherSalaryConfirmStatus confirmStatus) {
+        this.confirmStatus = confirmStatus;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+}

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

@@ -9,6 +9,9 @@ import io.swagger.annotations.ApiModelProperty;
  */
 public class TeacherPersonalAttendanceDto {
 
+    @ApiModelProperty(value = "课程编号",required = false)
+	private Long courseScheduleId;
+	
     /** 上课日期 */
     @ApiModelProperty(value = "上课日期",required = false)
     private String classDate;
@@ -17,6 +20,9 @@ public class TeacherPersonalAttendanceDto {
     @ApiModelProperty(value = "上课时间",required = false)
     private String startClassTime;
 
+    @ApiModelProperty(value = "结束时间",required = false)
+    private String endClassTime;
+
     /** 班级类型(普通班级、合奏班级) */
     @ApiModelProperty(value = "课程类型",required = false)
     private CourseSchedule.CourseScheduleType type;
@@ -92,4 +98,20 @@ public class TeacherPersonalAttendanceDto {
     public void setRemark(String remark) {
         this.remark = remark;
     }
+
+	public Long getCourseScheduleId() {
+		return courseScheduleId;
+	}
+
+	public void setCourseScheduleId(Long courseScheduleId) {
+		this.courseScheduleId = courseScheduleId;
+	}
+
+	public String getEndClassTime() {
+		return endClassTime;
+	}
+
+	public void setEndClassTime(String endClassTime) {
+		this.endClassTime = endClassTime;
+	}
 }

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherVipSalaryDto.java

@@ -0,0 +1,48 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.enums.JobNatureEnum;
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
+
+public class TeacherVipSalaryDto extends CourseScheduleTeacherSalary {
+
+	private JobNatureEnum teacherJobNature;
+
+	private String vipGroupCategoryName;
+	
+	private Integer vipGroupCategoryId;
+
+	private TeachModeEnum teachMode;
+
+	public JobNatureEnum getTeacherJobNature() {
+		return teacherJobNature;
+	}
+
+	public void setTeacherJobNature(JobNatureEnum teacherJobNature) {
+		this.teacherJobNature = teacherJobNature;
+	}
+
+	public String getVipGroupCategoryName() {
+		return vipGroupCategoryName;
+	}
+
+	public void setVipGroupCategoryName(String vipGroupCategoryName) {
+		this.vipGroupCategoryName = vipGroupCategoryName;
+	}
+
+	public Integer getVipGroupCategoryId() {
+		return vipGroupCategoryId;
+	}
+
+	public void setVipGroupCategoryId(Integer vipGroupCategoryId) {
+		this.vipGroupCategoryId = vipGroupCategoryId;
+	}
+
+	public TeachModeEnum getTeachMode() {
+		return teachMode;
+	}
+
+	public void setTeachMode(TeachModeEnum teachMode) {
+		this.teachMode = teachMode;
+	}
+}

+ 99 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/practiceStatisDto.java

@@ -0,0 +1,99 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public class practiceStatisDto {
+    @ApiModelProperty(value = "个分部数据", required = false)
+    private List<Practice4OrganDto> practice4OrganDtoList;
+    @ApiModelProperty(value = "体验人数", required = false)
+    private Integer tryNum = 0;
+    @ApiModelProperty(value = "vip转化人数", required = false)
+    private Integer vipNum = 0;
+    @ApiModelProperty(value = "网管课转化人数", required = false)
+    private Integer practiceNum = 0;
+    @ApiModelProperty(value = "当月新增Vip人数", required = false)
+    private Integer vip4MonthNum = 0;
+    @ApiModelProperty(value = "当月新增网管课人数", required = false)
+    private Integer practice4MonthNum = 0;
+    @ApiModelProperty(value = "当月续费", required = false)
+    private Integer renew4MonthNum = 0;
+    @ApiModelProperty(value = "同比上月增减人数", required = false)
+    private Integer change4MonthNum = 0;
+    @ApiModelProperty(value = "当月回款金额", required = false)
+    private BigDecimal totalMoney = BigDecimal.ZERO;
+
+    public Integer getTryNum() {
+        return tryNum;
+    }
+
+    public void setTryNum(Integer tryNum) {
+        this.tryNum = tryNum;
+    }
+
+    public Integer getVipNum() {
+        return vipNum;
+    }
+
+    public void setVipNum(Integer vipNum) {
+        this.vipNum = vipNum;
+    }
+
+    public Integer getPracticeNum() {
+        return practiceNum;
+    }
+
+    public void setPracticeNum(Integer practiceNum) {
+        this.practiceNum = practiceNum;
+    }
+
+    public Integer getVip4MonthNum() {
+        return vip4MonthNum;
+    }
+
+    public void setVip4MonthNum(Integer vip4MonthNum) {
+        this.vip4MonthNum = vip4MonthNum;
+    }
+
+    public Integer getPractice4MonthNum() {
+        return practice4MonthNum;
+    }
+
+    public void setPractice4MonthNum(Integer practice4MonthNum) {
+        this.practice4MonthNum = practice4MonthNum;
+    }
+
+    public Integer getRenew4MonthNum() {
+        return renew4MonthNum;
+    }
+
+    public void setRenew4MonthNum(Integer renew4MonthNum) {
+        this.renew4MonthNum = renew4MonthNum;
+    }
+
+    public Integer getChange4MonthNum() {
+        return change4MonthNum;
+    }
+
+    public void setChange4MonthNum(Integer change4MonthNum) {
+        this.change4MonthNum = change4MonthNum;
+    }
+
+    public BigDecimal getTotalMoney() {
+        return totalMoney;
+    }
+
+    public void setTotalMoney(BigDecimal totalMoney) {
+        this.totalMoney = totalMoney;
+    }
+
+    public List<Practice4OrganDto> getPractice4OrganDtoList() {
+        return practice4OrganDtoList;
+    }
+
+    public void setPractice4OrganDtoList(List<Practice4OrganDto> practice4OrganDtoList) {
+        this.practice4OrganDtoList = practice4OrganDtoList;
+    }
+}

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java

@@ -44,6 +44,14 @@ public class ClassGroup {
 	@ApiModelProperty(value = "群名称", required = true)
 	private String groupName;
 
+	/** 群名称 */
+	@ApiModelProperty(value = "群名称", required = true)
+	private String viewGroupName;
+
+	/** 乐团名称 */
+	@ApiModelProperty(value = "乐团名称", required = true)
+	private String musicGroupName;
+
 	/** 子班级名称列表 */
 	@ApiModelProperty(value = "子班班级名称")
 	private String classNames;
@@ -79,6 +87,22 @@ public class ClassGroup {
 	@ApiModelProperty(value = "班级图标",required = false)
 	private String img;
 
+	public String getViewGroupName() {
+		return viewGroupName;
+	}
+
+	public void setViewGroupName(String viewGroupName) {
+		this.viewGroupName = viewGroupName;
+	}
+
+	public String getMusicGroupName() {
+		return musicGroupName;
+	}
+
+	public void setMusicGroupName(String musicGroupName) {
+		this.musicGroupName = musicGroupName;
+	}
+
 	public String getGroupName() {
 		return groupName;
 	}

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -124,6 +125,16 @@ public class CourseScheduleReview {
     @ApiModelProperty(value = "教务老师名字",required = false)
     private String eduTeacherName;
 
+    private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
+
+    public ImSendTypeEnum getMsgType() {
+        return msgType;
+    }
+
+    public void setMsgType(ImSendTypeEnum msgType) {
+        this.msgType = msgType;
+    }
+
     public Integer getId() {
         return id;
     }

+ 31 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java

@@ -2,9 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
-
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
@@ -57,6 +56,12 @@ public class CourseScheduleTeacherSalary {
 	
 	private CourseSchedule courseSchedule = new CourseSchedule();
 
+	private BigDecimal reduceSalary;
+
+	private YesOrNoEnum confirmStatus;
+
+	private String memo;
+
 	public CourseScheduleTeacherSalary() {
 	}
 
@@ -81,6 +86,30 @@ public class CourseScheduleTeacherSalary {
 		this.classGroupId = classGroupId;
 	}
 
+	public BigDecimal getReduceSalary() {
+		return reduceSalary;
+	}
+
+	public void setReduceSalary(BigDecimal reduceSalary) {
+		this.reduceSalary = reduceSalary;
+	}
+
+	public YesOrNoEnum getConfirmStatus() {
+		return confirmStatus;
+	}
+
+	public void setConfirmStatus(YesOrNoEnum confirmStatus) {
+		this.confirmStatus = confirmStatus;
+	}
+
+	public String getMemo() {
+		return memo;
+	}
+
+	public void setMemo(String memo) {
+		this.memo = memo;
+	}
+
 	public String getUserName() {
 		return userName;
 	}

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.auth.api.entity.SysUser;
@@ -55,6 +56,16 @@ public class ExtracurricularExercises {
 	
 	private String organName;
 
+	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
+
+	public ImSendTypeEnum getMsgType() {
+		return msgType;
+	}
+
+	public void setMsgType(ImSendTypeEnum msgType) {
+		this.msgType = msgType;
+	}
+
 	public int getStatus() {
 		return status;
 	}

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -27,7 +28,17 @@ public class ExtracurricularExercisesMessage {
 	
 	/** 父级编号 */
 	private Long parentId;
-	
+
+	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
+
+	public ImSendTypeEnum getMsgType() {
+		return msgType;
+	}
+
+	public void setMsgType(ImSendTypeEnum msgType) {
+		this.msgType = msgType;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

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

@@ -4,6 +4,8 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.auth.api.entity.SysUser;
 
+import java.util.Date;
+
 /**
  * 对应数据库表(extracurricular_exercises_reply):
  */
@@ -39,12 +41,32 @@ public class ExtracurricularExercisesReply {
 	
 	/** 是否回复 */
 	private Integer isReplied;
+
+	private Integer isRepliedTimely;
 	
 	/** 是否已查看 */
 	private Integer isView;
 	
 	private String organName;
-	
+
+	private Date submitTime;
+
+	public Integer getIsRepliedTimely() {
+		return isRepliedTimely;
+	}
+
+	public void setIsRepliedTimely(Integer isRepliedTimely) {
+		this.isRepliedTimely = isRepliedTimely;
+	}
+
+	public Date getSubmitTime() {
+		return submitTime;
+	}
+
+	public void setSubmitTime(Date submitTime) {
+		this.submitTime = submitTime;
+	}
+
 	public ExtracurricularExercises getExtracurricularExercises() {
 		return extracurricularExercises;
 	}

+ 41 - 24
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupNotice.java

@@ -1,11 +1,8 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.Date;
-import java.util.List;
 
 /**
  * 对应数据库表(im_group_notice):
@@ -15,19 +12,47 @@ public class ImGroupNotice {
 
 	private Long imGroupId;
 
+	private Long operatorId;
+
 	private String title;
 
 	private String content;
 
-	private YesOrNoEnum isTop;
+	private String realName;
+
+	private String avatar;
 
-	private YesOrNoEnum isSentToNewMember;
+	private Integer isTop;
 
 	private Date createTime;
 
 	private Date updateTime;
 
-	private YesOrNoEnum delFlag;
+	private Integer delFlag = 0;
+
+	public String getRealName() {
+		return realName;
+	}
+
+	public void setRealName(String realName) {
+		this.realName = realName;
+	}
+
+	public String getAvatar() {
+		return avatar;
+	}
+
+	public void setAvatar(String avatar) {
+		this.avatar = avatar;
+	}
+
+	public Long getOperatorId() {
+		return operatorId;
+	}
+
+	public void setOperatorId(Long operatorId) {
+		this.operatorId = operatorId;
+	}
 
 	public Long getId() {
 		return id;
@@ -61,22 +86,6 @@ public class ImGroupNotice {
 		this.content = content;
 	}
 
-	public YesOrNoEnum getIsTop() {
-		return isTop;
-	}
-
-	public void setIsTop(YesOrNoEnum isTop) {
-		this.isTop = isTop;
-	}
-
-	public YesOrNoEnum getIsSentToNewMember() {
-		return isSentToNewMember;
-	}
-
-	public void setIsSentToNewMember(YesOrNoEnum isSentToNewMember) {
-		this.isSentToNewMember = isSentToNewMember;
-	}
-
 	public Date getCreateTime() {
 		return createTime;
 	}
@@ -93,11 +102,19 @@ public class ImGroupNotice {
 		this.updateTime = updateTime;
 	}
 
-	public YesOrNoEnum getDelFlag() {
+	public Integer getIsTop() {
+		return isTop;
+	}
+
+	public void setIsTop(Integer isTop) {
+		this.isTop = isTop;
+	}
+
+	public Integer getDelFlag() {
 		return delFlag;
 	}
 
-	public void setDelFlag(YesOrNoEnum delFlag) {
+	public void setDelFlag(Integer delFlag) {
 		this.delFlag = delFlag;
 	}
 }

+ 44 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java

@@ -12,13 +12,31 @@ public class Student {
 	
 	/**  */
 	private String subjectIdList;
+
+	private Integer serviceTag;
+
+	private Integer operatingTag;
+
+	private Integer teacherId;
 	
 	/**  */
 	private java.util.Date createTime;
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	public Student(Integer userId, String subjectIdList) {
+		this.userId = userId;
+		this.subjectIdList = subjectIdList;
+	}
+
+	public Student(Integer userId) {
+		this.userId = userId;
+	}
+
+	public Student() {
+	}
+
 	public void setUserId(Integer userId){
 		this.userId = userId;
 	}
@@ -50,10 +68,33 @@ public class Student {
 	public java.util.Date getUpdateTime(){
 		return this.updateTime;
 	}
-			
+
+
+	public Integer getServiceTag() {
+		return serviceTag;
+	}
+
+	public void setServiceTag(Integer serviceTag) {
+		this.serviceTag = serviceTag;
+	}
+
+	public Integer getOperatingTag() {
+		return operatingTag;
+	}
+
+	public void setOperatingTag(Integer operatingTag) {
+		this.operatingTag = operatingTag;
+	}
+
+	public Integer getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(Integer teacherId) {
+		this.teacherId = teacherId;
+	}
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
-
 }

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

@@ -1,11 +1,14 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 
 import io.swagger.annotations.ApiModelProperty;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.Date;
+
 /**
  * 对应数据库表(student_course_homework):
  */
@@ -47,6 +50,26 @@ public class StudentCourseHomework {
 
 	private boolean extra;
 
+	private Date submitTime;
+
+	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
+
+	public ImSendTypeEnum getMsgType() {
+		return msgType;
+	}
+
+	public void setMsgType(ImSendTypeEnum msgType) {
+		this.msgType = msgType;
+	}
+
+	public Date getSubmitTime() {
+		return submitTime;
+	}
+
+	public void setSubmitTime(Date submitTime) {
+		this.submitTime = submitTime;
+	}
+
 	public boolean isExtra() {
 		return extra;
 	}
@@ -72,9 +95,19 @@ public class StudentCourseHomework {
 	@ApiModelProperty(value = "是否已经回复",required = false)
 	private YesOrNoEnum isReplied;
 
+	private Integer isRepliedTimely;
+
 	@ApiModelProperty(value = "是否已查看")
 	private YesOrNoEnum isView;
 
+	public Integer getIsRepliedTimely() {
+		return isRepliedTimely;
+	}
+
+	public void setIsRepliedTimely(Integer isRepliedTimely) {
+		this.isRepliedTimely = isRepliedTimely;
+	}
+
 	public String getPhone() {
 		return phone;
 	}

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -32,6 +33,17 @@ public class StudentCourseHomeworkReply {
 
 	private boolean extra;
 
+	//false  文本,true其他需要跳转
+	private ImSendTypeEnum msgType = ImSendTypeEnum.TXT;
+
+	public ImSendTypeEnum getMsgType() {
+		return msgType;
+	}
+
+	public void setMsgType(ImSendTypeEnum msgType) {
+		this.msgType = msgType;
+	}
+
 	public boolean isExtra() {
 		return extra;
 	}

+ 158 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentExtracurricularExercisesSituation.java

@@ -0,0 +1,158 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(student_extracurricular_exercises_situation_):
+ */
+public class StudentExtracurricularExercisesSituation {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer studentId;
+	
+	/** 周数 */
+	private Integer weekOfYear;
+	
+	/** 周一日期 */
+	private java.util.Date monday;
+	
+	/** 周末日期 */
+	private java.util.Date sunday;
+	
+	/**  */
+	private Integer teacherId;
+	
+	/** 预期训练次数 */
+	private Integer expectExercisesNum;
+	
+	/** 实际训练次数 */
+	private Integer actualExercisesNum;
+	
+	/** 提交训练次数 */
+	private Integer exercisesReplyNum;
+	
+	/** 训练评价次数 */
+	private Integer exercisesMessageNum;
+	
+	/** 及时训练评价次数 */
+	private Integer exercisesMessageTimelyNum;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setStudentId(Integer studentId){
+		this.studentId = studentId;
+	}
+	
+	public Integer getStudentId(){
+		return this.studentId;
+	}
+			
+	public void setWeekOfYear(Integer weekOfYear){
+		this.weekOfYear = weekOfYear;
+	}
+	
+	public Integer getWeekOfYear(){
+		return this.weekOfYear;
+	}
+			
+	public void setMonday(java.util.Date monday){
+		this.monday = monday;
+	}
+	
+	public java.util.Date getMonday(){
+		return this.monday;
+	}
+			
+	public void setSunday(java.util.Date sunday){
+		this.sunday = sunday;
+	}
+	
+	public java.util.Date getSunday(){
+		return this.sunday;
+	}
+			
+	public void setTeacherId(Integer teacherId){
+		this.teacherId = teacherId;
+	}
+	
+	public Integer getTeacherId(){
+		return this.teacherId;
+	}
+			
+	public void setExpectExercisesNum(Integer expectExercisesNum){
+		this.expectExercisesNum = expectExercisesNum;
+	}
+	
+	public Integer getExpectExercisesNum(){
+		return this.expectExercisesNum;
+	}
+			
+	public void setActualExercisesNum(Integer actualExercisesNum){
+		this.actualExercisesNum = actualExercisesNum;
+	}
+	
+	public Integer getActualExercisesNum(){
+		return this.actualExercisesNum;
+	}
+			
+	public void setExercisesReplyNum(Integer exercisesReplyNum){
+		this.exercisesReplyNum = exercisesReplyNum;
+	}
+	
+	public Integer getExercisesReplyNum(){
+		return this.exercisesReplyNum;
+	}
+			
+	public void setExercisesMessageNum(Integer exercisesMessageNum){
+		this.exercisesMessageNum = exercisesMessageNum;
+	}
+	
+	public Integer getExercisesMessageNum(){
+		return this.exercisesMessageNum;
+	}
+			
+	public void setExercisesMessageTimelyNum(Integer exercisesMessageTimelyNum){
+		this.exercisesMessageTimelyNum = exercisesMessageTimelyNum;
+	}
+	
+	public Integer getExercisesMessageTimelyNum(){
+		return this.exercisesMessageTimelyNum;
+	}
+			
+	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);
+	}
+
+}

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

@@ -29,10 +29,21 @@ public class SysSuggestion {
 	
 	@ApiModelProperty(value = "客户端类型",required = false)
 	private String clientType;
+
+	@ApiModelProperty(value = "用户名",required = false)
+	private String username;
 	
 	/** 提交时间 */
 	private java.util.Date createTime;
-	
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

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

@@ -34,7 +34,11 @@ public class SysTenantAccountDetail {
 	}
 	
 	public enum TransType implements BaseEnum<String, TransType> {
-		RECHARGE("RECHARGE", "充值"), CONSUME("CONSUME", "消费");
+		RECHARGE("RECHARGE", "充值"),
+		CONSUME("CONSUME", "消费"),
+		RETURN("RETURN", "退还"),
+		MANUAL_ADD("MANUAL_ADD", "系统充值"),
+		MANUAL_SUB("MANUAL_SUB", "系统扣减");
 
 		private String code;
 
@@ -86,6 +90,9 @@ public class SysTenantAccountDetail {
 	private String memo;
 
 	/**  */
+	private Integer operatorId;
+
+	/**  */
 	private java.util.Date createTime;
 
 	/**  */
@@ -187,6 +194,14 @@ public class SysTenantAccountDetail {
 		this.orderNo = orderNo;
 	}
 
+	public Integer getOperatorId() {
+		return operatorId;
+	}
+
+	public void setOperatorId(Integer operatorId) {
+		this.operatorId = operatorId;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

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

@@ -113,6 +113,8 @@ public class Teacher extends SysUser {
 	private List<School> teacherSchools;
 
 	private Integer lectureNum;
+	
+	private String memo;
 
 	public Integer getLectureNum() {
 		return lectureNum;
@@ -338,6 +340,14 @@ public class Teacher extends SysUser {
 		this.idcardHandImg = idcardHandImg;
 	}
 
+	public String getMemo() {
+		return memo;
+	}
+
+	public void setMemo(String memo) {
+		this.memo = memo;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 128 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherSalaryComplaints.java

@@ -0,0 +1,128 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.biz.dal.enums.TeacherSalaryComplaintsStatusEnum;
+
+import java.util.Date;
+
+public class TeacherSalaryComplaints {
+
+    private Long id;
+
+    private Integer teacherId;
+
+    private String salarySettlementMonth;
+
+    private String reason;
+
+    private TeacherSalaryComplaintsStatusEnum statusEnum;
+
+    private Integer operatorId;
+
+    private String handingSuggestion;
+
+    private String organName;
+
+    private String realName;
+
+    private String operatorRealName;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getOperatorRealName() {
+        return operatorRealName;
+    }
+
+    public void setOperatorRealName(String operatorRealName) {
+        this.operatorRealName = operatorRealName;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getSalarySettlementMonth() {
+        return salarySettlementMonth;
+    }
+
+    public void setSalarySettlementMonth(String salarySettlementMonth) {
+        this.salarySettlementMonth = salarySettlementMonth;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    public TeacherSalaryComplaintsStatusEnum getStatusEnum() {
+        return statusEnum;
+    }
+
+    public void setStatusEnum(TeacherSalaryComplaintsStatusEnum statusEnum) {
+        this.statusEnum = statusEnum;
+    }
+
+    public Integer getOperatorId() {
+        return operatorId;
+    }
+
+    public void setOperatorId(Integer operatorId) {
+        this.operatorId = operatorId;
+    }
+
+    public String getHandingSuggestion() {
+        return handingSuggestion;
+    }
+
+    public void setHandingSuggestion(String handingSuggestion) {
+        this.handingSuggestion = handingSuggestion;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 106 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherSalaryModifyLog.java

@@ -0,0 +1,106 @@
+package com.ym.mec.biz.dal.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class TeacherSalaryModifyLog {
+	private Long id;
+
+	private Integer teacherId;
+
+	private Long courseScheduleId;
+
+	private BigDecimal preExpectSalary;
+
+	private BigDecimal preReduceSalary;
+
+	private BigDecimal currentExpectSalary;
+
+	private BigDecimal currentReduceSalary;
+
+	private String memo;
+
+	private Integer operatorId;
+
+	private Date createTime;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Integer getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(Integer teacherId) {
+		this.teacherId = teacherId;
+	}
+
+	public Long getCourseScheduleId() {
+		return courseScheduleId;
+	}
+
+	public void setCourseScheduleId(Long courseScheduleId) {
+		this.courseScheduleId = courseScheduleId;
+	}
+
+	public BigDecimal getPreExpectSalary() {
+		return preExpectSalary;
+	}
+
+	public void setPreExpectSalary(BigDecimal preExpectSalary) {
+		this.preExpectSalary = preExpectSalary;
+	}
+
+	public BigDecimal getPreReduceSalary() {
+		return preReduceSalary;
+	}
+
+	public void setPreReduceSalary(BigDecimal preReduceSalary) {
+		this.preReduceSalary = preReduceSalary;
+	}
+
+	public BigDecimal getCurrentExpectSalary() {
+		return currentExpectSalary;
+	}
+
+	public void setCurrentExpectSalary(BigDecimal currentExpectSalary) {
+		this.currentExpectSalary = currentExpectSalary;
+	}
+
+	public BigDecimal getCurrentReduceSalary() {
+		return currentReduceSalary;
+	}
+
+	public void setCurrentReduceSalary(BigDecimal currentReduceSalary) {
+		this.currentReduceSalary = currentReduceSalary;
+	}
+
+	public String getMemo() {
+		return memo;
+	}
+
+	public void setMemo(String memo) {
+		this.memo = memo;
+	}
+
+	public Integer getOperatorId() {
+		return operatorId;
+	}
+
+	public void setOperatorId(Integer operatorId) {
+		this.operatorId = operatorId;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+}

+ 11 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantPaymentOrder.java

@@ -1,9 +1,10 @@
 package com.ym.mec.biz.dal.entity;
 
-import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import com.ym.mec.common.enums.BaseEnum;
 
 /**
@@ -41,7 +42,7 @@ public class TenantPaymentOrder {
 	/**  */
 	private Integer userId;
 	/**  */
-	private String username;
+	private SysUser user = new SysUser();
 
 	/** 分部id */
 	private Integer organId;
@@ -105,14 +106,6 @@ public class TenantPaymentOrder {
 	/**  */
 	private java.util.Date updateTime;
 
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
 	public void setId(Long id) {
 		this.id = id;
 	}
@@ -121,6 +114,14 @@ public class TenantPaymentOrder {
 		return this.id;
 	}
 
+	public SysUser getUser() {
+		return user;
+	}
+
+	public void setUser(SysUser user) {
+		this.user = user;
+	}
+
 	public Integer getActivitiesId() {
 		return activitiesId;
 	}

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

@@ -128,6 +128,16 @@ public class VipGroup {
 
 	private String educationalTeacherName;
 
+	private String userInfo;
+
+	public String getUserInfo() {
+		return userInfo;
+	}
+
+	public void setUserInfo(String userInfo) {
+		this.userInfo = userInfo;
+	}
+
 	public String getEducationalTeacherName() {
 		return educationalTeacherName;
 	}

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ImSendTypeEnum.java

@@ -0,0 +1,39 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * 融云消息类型
+ */
+public enum ImSendTypeEnum implements BaseEnum<String, ImSendTypeEnum> {
+	TXT("TXT", "文本"),
+	IMG("IMG", "图片"),
+	VC("VC", "语言"),
+	FILE("FILE", "文件");
+
+	private String code;
+
+	private String msg;
+
+	ImSendTypeEnum(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -48,6 +48,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_PUSH_JOB_MESSAGE("STUDENT_PUSH_JOB_MESSAGE", "作业提醒"),
     HOMEWORK_REMIND("HOMEWORK_REMIND", "作业提醒-网管课"),
     IM_HOMEWORK_REMIND("IM_HOMEWORK_REMIND", "作业提醒"),
+    IM_HOMEWORK_REMIND_DETAIL("IM_HOMEWORK_REMIND_DETAIL", "作业提醒"),
     IM_HOMEWORK_SUBMIT_PUSH("IM_HOMEWORK_SUBMIT_PUSH", "作业提交提醒"),
     IM_HOMEWORK_STUDENT_REPLY_PUSH("IM_HOMEWORK_STUDENT_REPLY_PUSH", "作业回复提醒"),
     IM_HOMEWORK_TEACHER_REPLY_PUSH("IM_HOMEWORK_TEACHER_REPLY_PUSH", "作业点评提醒"),
@@ -60,6 +61,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     /** 课外训练消息 */
     EXTRA_REMIND_PUSH("EXTRA_REMIND_PUSH", "作业提醒"),
     EXTRA_REMIND_IM("EXTRA_REMIND_IM", "作业提醒"),
+    EXTRA_REMIND_IM_DETAIL("EXTRA_REMIND_IM_DETAIL", "作业提醒"),
     EXTRA_TEACHER_REPLY_PUSH("EXTRA_TEACHER_REPLY_PUSH", "作业点评提醒"),
     EXTRA_TEACHER_REPLY_IM("EXTRA_TEACHER_REPLY_IM", "作业点评提醒"),
     EXTRA_SUBMIT_PUSH("EXTRA_SUBMIT_PUSH", "作业提交提醒"),
@@ -85,6 +87,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT("TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT", "课时调整结果"),
     TEACHER_PUSH_STUDENT_LEAVE("TEACHER_PUSH_STUDENT_LEAVE", "学员请假"),
     TEACHER_PUSH_CLASS_MESSAGE("TEACHER_PUSH_CLASS_MESSAGE", "班级消息"),
+    COURSE_SALARY_COMPLAINTS_RESULT("COURSE_SALARY_COMPLAINTS_RESULT", "课酬申述结果"),
 
     EDUCATION_PUSH_MUSIC_GROUP_FOUND("EDUCATION_PUSH_MUSIC_GROUP_FOUND", "乐团成立"),
     EDUCATION_PUSH_MUSIC_GROUP_CLOSE("EDUCATION_PUSH_MUSIC_GROUP_CLOSE", "乐团关闭"),
@@ -132,7 +135,9 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     BACKSTAGE_STUDENT_APPLY_QUIT_COURSE("BACKSTAGE_STUDENT_APPLY_QUIT_COURSE", "学员申请退课"),
     BACKSTAGE_STUDENT_APPLY_WITHDRAW("BACKSTAGE_STUDENT_APPLY_WITHDRAW", "学员申请提现"),
     PUSH_STUDY_REPORT("PUSH_STUDY_REPORT", "陪练报告"),
-    NEED_POST_STUDY_REPORT("NEED_POST_STUDY_REPORT", "新增待填写月报");
+    NEED_POST_STUDY_REPORT("NEED_POST_STUDY_REPORT", "新增待填写月报"),
+
+    TEACHER_SALARY_CONFIRM_PUSH("TEACHER_SALARY_CONFIRM_PUSH", "课酬确认");
 
 
     MessageTypeEnum(String code, String msg) {

+ 37 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/TeacherSalaryComplaintsStatusEnum.java

@@ -0,0 +1,37 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum TeacherSalaryComplaintsStatusEnum implements BaseEnum<String, TeacherSalaryComplaintsStatusEnum> {
+	PENDING("PENDING", "待处理"),
+	Done("DONE", "完成"),
+	AGREED("AGREED", "同意"),
+	DENIED("DENIED", "拒绝"),
+	WITHDRAWN("WITHDRAWN", "撤回");
+
+	private String code;
+
+	private String msg;
+
+	TeacherSalaryComplaintsStatusEnum(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/TeacherSalaryConfirmStatus.java

@@ -0,0 +1,32 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/16
+ */
+public enum  TeacherSalaryConfirmStatus implements BaseEnum<Integer, TeacherSalaryConfirmStatus> {
+    UNCONFIRMED(1, "待确认"),
+    CONFIRMED(2, "已确认"),
+    COMPLETED(3, "已完成");
+
+    private Integer code;
+
+    private String desc;
+
+    private TeacherSalaryConfirmStatus(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    @Override
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+}

+ 101 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CourseSalaryQueryInfo4Web.java

@@ -0,0 +1,101 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.common.page.QueryInfo;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/15
+ */
+public class CourseSalaryQueryInfo4Web extends QueryInfo {
+
+    private Integer teacherId;
+
+    private String month;
+
+    private String organIdList;
+
+    private GroupType groupType;
+
+    private Long courseScheduleId;
+
+    private String groupName;
+
+    private Integer signInStatus;
+
+    private Integer signOutStatus;
+
+    private Integer confirmStatus;
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getMonth() {
+        return month;
+    }
+
+    public void setMonth(String month) {
+        this.month = month;
+    }
+
+    public String getOrganIdList() {
+        return organIdList;
+    }
+
+    public void setOrganIdList(String organIdList) {
+        this.organIdList = organIdList;
+    }
+
+    public GroupType getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(GroupType groupType) {
+        this.groupType = groupType;
+    }
+
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public void setGroupName(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public Integer getSignInStatus() {
+        return signInStatus;
+    }
+
+    public void setSignInStatus(Integer signInStatus) {
+        this.signInStatus = signInStatus;
+    }
+
+    public Integer getSignOutStatus() {
+        return signOutStatus;
+    }
+
+    public void setSignOutStatus(Integer signOutStatus) {
+        this.signOutStatus = signOutStatus;
+    }
+
+    public Integer getConfirmStatus() {
+        return confirmStatus;
+    }
+
+    public void setConfirmStatus(Integer confirmStatus) {
+        this.confirmStatus = confirmStatus;
+    }
+}

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExtraExercilseQueryInfo.java

@@ -20,7 +20,7 @@ public class ExtraExercilseQueryInfo extends QueryInfo {
 
 	private String title;// 作业标题
 	
-	private Integer organId;
+	private String organIdList;
 
 	private Date assignStartTime;// 布置作业的开始时间
 
@@ -66,12 +66,12 @@ public class ExtraExercilseQueryInfo extends QueryInfo {
 		this.title = title;
 	}
 
-	public Integer getOrganId() {
-		return organId;
+	public String getOrganIdList() {
+		return organIdList;
 	}
 
-	public void setOrganId(Integer organId) {
-		this.organId = organId;
+	public void setOrganIdList(String organIdList) {
+		this.organIdList = organIdList;
 	}
 
 	public Date getAssignStartTime() {

+ 35 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExtraExercilseReplyQueryInfo.java

@@ -23,16 +23,46 @@ public class ExtraExercilseReplyQueryInfo extends QueryInfo {
 	
 	/** 是否回复 */
 	private Integer isReplied;
+
+	private Integer isRepliedTimely;
 	
 	/** 是否已查看 */
 	private Integer isView;
 	
-	private Integer organId;
+	private String organIdList;
 	
 	private Date submitStartTime;// 提交作业的开始时间
 
 	private Date submitEndTime;// 提交作业的结束时间
 
+	private Date expireStartDate;
+
+	private Date expireEndDate;
+
+	public Integer getIsRepliedTimely() {
+		return isRepliedTimely;
+	}
+
+	public void setIsRepliedTimely(Integer isRepliedTimely) {
+		this.isRepliedTimely = isRepliedTimely;
+	}
+
+	public Date getExpireStartDate() {
+		return expireStartDate;
+	}
+
+	public void setExpireStartDate(Date expireStartDate) {
+		this.expireStartDate = expireStartDate;
+	}
+
+	public Date getExpireEndDate() {
+		return expireEndDate;
+	}
+
+	public void setExpireEndDate(Date expireEndDate) {
+		this.expireEndDate = expireEndDate;
+	}
+
 	public Long getExtracurricularExercisesId() {
 		return extracurricularExercisesId;
 	}
@@ -57,12 +87,12 @@ public class ExtraExercilseReplyQueryInfo extends QueryInfo {
 		this.studentId = studentId;
 	}
 
-	public Integer getOrganId() {
-		return organId;
+	public String getOrganIdList() {
+		return organIdList;
 	}
 
-	public void setOrganId(Integer organId) {
-		this.organId = organId;
+	public void setOrganIdList(String organIdList) {
+		this.organIdList = organIdList;
 	}
 
 	public Date getSubmitStartTime() {

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GroupNoticeQueryInfo.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.common.page.QueryInfo;
+
+public class GroupNoticeQueryInfo extends QueryInfo {
+    private Long groupId;
+
+    private YesOrNoEnum isTop;
+
+    public Long getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(Long groupId) {
+        this.groupId = groupId;
+    }
+
+    public YesOrNoEnum getIsTop() {
+        return isTop;
+    }
+
+    public void setIsTop(YesOrNoEnum isTop) {
+        this.isTop = isTop;
+    }
+}

+ 52 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GroupQueryInfo.java

@@ -0,0 +1,52 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.GroupStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.common.page.QueryInfo;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/6
+ */
+public class GroupQueryInfo extends QueryInfo {
+
+    private Integer teacherId;
+
+    private Integer studentId;
+
+    private GroupType groupType;
+
+    private GroupStatusEnum groupStatus;
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public GroupType getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(GroupType groupType) {
+        this.groupType = groupType;
+    }
+
+    public GroupStatusEnum getGroupStatus() {
+        return groupStatus;
+    }
+
+    public void setGroupStatus(GroupStatusEnum groupStatus) {
+        this.groupStatus = groupStatus;
+    }
+}

+ 100 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentExercisesSituationQueryInfo.java

@@ -0,0 +1,100 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/10
+ */
+public class StudentExercisesSituationQueryInfo extends QueryInfo {
+
+    private String organIdList;
+
+    @ApiModelProperty(value = "周一日期")
+    private java.util.Date monday;
+
+    @ApiModelProperty(value = "周日日期")
+    private java.util.Date sunday;
+
+    @ApiModelProperty(value = "预期训练次数")
+    private Integer expectExercisesNum;
+
+    @ApiModelProperty(value = "实际训练次数是否达到预期")
+    private Integer actualExercisesNumIsAchieve;
+
+    @ApiModelProperty(value = "提交训练次数是否达到预期")
+    private Integer exercisesReplyNumIsAchieve;
+
+    @ApiModelProperty(value = "训练评价次数是否达到预期")
+    private Integer exercisesMessageNumIsAchieve;
+
+    @ApiModelProperty(value = "及时训练评价次数是否达到预期")
+    private Integer exercisesMessageTimelyNumIsAchieve;
+
+    public String getOrganIdList() {
+        return organIdList;
+    }
+
+    public void setOrganIdList(String organIdList) {
+        this.organIdList = organIdList;
+    }
+
+    public Date getMonday() {
+        return monday;
+    }
+
+    public void setMonday(Date monday) {
+        this.monday = monday;
+    }
+
+    public Date getSunday() {
+        return sunday;
+    }
+
+    public void setSunday(Date sunday) {
+        this.sunday = sunday;
+    }
+
+    public Integer getExpectExercisesNum() {
+        return expectExercisesNum;
+    }
+
+    public void setExpectExercisesNum(Integer expectExercisesNum) {
+        this.expectExercisesNum = expectExercisesNum;
+    }
+
+    public Integer getActualExercisesNumIsAchieve() {
+        return actualExercisesNumIsAchieve;
+    }
+
+    public void setActualExercisesNumIsAchieve(Integer actualExercisesNumIsAchieve) {
+        this.actualExercisesNumIsAchieve = actualExercisesNumIsAchieve;
+    }
+
+    public Integer getExercisesReplyNumIsAchieve() {
+        return exercisesReplyNumIsAchieve;
+    }
+
+    public void setExercisesReplyNumIsAchieve(Integer exercisesReplyNumIsAchieve) {
+        this.exercisesReplyNumIsAchieve = exercisesReplyNumIsAchieve;
+    }
+
+    public Integer getExercisesMessageNumIsAchieve() {
+        return exercisesMessageNumIsAchieve;
+    }
+
+    public void setExercisesMessageNumIsAchieve(Integer exercisesMessageNumIsAchieve) {
+        this.exercisesMessageNumIsAchieve = exercisesMessageNumIsAchieve;
+    }
+
+    public Integer getExercisesMessageTimelyNumIsAchieve() {
+        return exercisesMessageTimelyNumIsAchieve;
+    }
+
+    public void setExercisesMessageTimelyNumIsAchieve(Integer exercisesMessageTimelyNumIsAchieve) {
+        this.exercisesMessageTimelyNumIsAchieve = exercisesMessageTimelyNumIsAchieve;
+    }
+}

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import io.swagger.annotations.ApiModelProperty;
 
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
@@ -18,6 +19,8 @@ public class StudentManageAttendanceQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
     private ClassGroupTypeEnum classGroupType;
 
+    private CourseSchedule.CourseScheduleType courseScheduleType;
+
     @ApiModelProperty(value = "班级名称",required = false)
     private String classGroupName;
 
@@ -38,6 +41,14 @@ public class StudentManageAttendanceQueryInfo extends QueryInfo {
         this.courseStatus = courseStatus;
     }
 
+    public CourseSchedule.CourseScheduleType getCourseScheduleType() {
+        return courseScheduleType;
+    }
+
+    public void setCourseScheduleType(CourseSchedule.CourseScheduleType courseScheduleType) {
+        this.courseScheduleType = courseScheduleType;
+    }
+
     public Integer getStudentId() {
         return studentId;
     }

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
@@ -38,6 +39,26 @@ public class StudentManageQueryInfo extends QueryInfo {
 
     private Boolean hasPracticeCourse;
 
+    private Integer serviceTag;
+
+    private Integer operatingTag;
+
+    public Integer getServiceTag() {
+        return serviceTag;
+    }
+
+    public void setServiceTag(Integer serviceTag) {
+        this.serviceTag = serviceTag;
+    }
+
+    public Integer getOperatingTag() {
+        return operatingTag;
+    }
+
+    public void setOperatingTag(Integer operatingTag) {
+        this.operatingTag = operatingTag;
+    }
+
     public Boolean getIsExport() {
         return isExport;
     }

+ 77 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentOperatingQueryInfo.java

@@ -0,0 +1,77 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+
+public class StudentOperatingQueryInfo extends QueryInfo {
+    
+    @ApiModelProperty(value = "部门ID")
+    private String organId;
+
+    @ApiModelProperty(value = "指导老师")
+    private Integer teacherId;
+
+    @ApiModelProperty(value = "运营指标")
+    private Integer operatingTag;
+
+    @ApiModelProperty(value = "是否有VIP课")
+    private Integer hasVip;
+
+    @ApiModelProperty(value = "是否有免费网管课")
+    private Integer HasFreePractice;
+
+    @ApiModelProperty(value = "是否有收费网管课")
+    private Integer HasBuyPractice;
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Integer getOperatingTag() {
+        return operatingTag;
+    }
+
+    public void setOperatingTag(Integer operatingTag) {
+        this.operatingTag = operatingTag;
+    }
+
+    public Integer getHasVip() {
+        return hasVip;
+    }
+
+    public void setHasVip(Integer hasVip) {
+        this.hasVip = hasVip;
+    }
+
+    public Integer getHasFreePractice() {
+        return HasFreePractice;
+    }
+
+    public void setHasFreePractice(Integer hasFreePractice) {
+        HasFreePractice = hasFreePractice;
+    }
+
+    public Integer getHasBuyPractice() {
+        return HasBuyPractice;
+    }
+
+    public void setHasBuyPractice(Integer hasBuyPractice) {
+        HasBuyPractice = hasBuyPractice;
+    }
+}

+ 46 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherSalaryModifyQueryInfo.java

@@ -0,0 +1,46 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.TeacherSalaryComplaintsStatusEnum;
+import com.ym.mec.common.page.QueryInfo;
+
+public class TeacherSalaryModifyQueryInfo extends QueryInfo {
+    private String salarySettlementMonth;
+
+    private Integer organId;
+
+    private Integer teacherId;
+
+    private TeacherSalaryComplaintsStatusEnum statusEnum;
+
+    public String getSalarySettlementMonth() {
+        return salarySettlementMonth;
+    }
+
+    public void setSalarySettlementMonth(String salarySettlementMonth) {
+        this.salarySettlementMonth = salarySettlementMonth;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public TeacherSalaryComplaintsStatusEnum getStatusEnum() {
+        return statusEnum;
+    }
+
+    public void setStatusEnum(TeacherSalaryComplaintsStatusEnum statusEnum) {
+        this.statusEnum = statusEnum;
+    }
+}

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TenantAccountDetailQueryInfo.java

@@ -3,15 +3,25 @@ package com.ym.mec.biz.dal.page;
 import com.ym.mec.biz.dal.entity.SysTenantAccountDetail.TransStatus;
 import com.ym.mec.biz.dal.entity.SysTenantAccountDetail.TransType;
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
 
 public class TenantAccountDetailQueryInfo extends QueryInfo {
 
+	@ApiModelProperty(value = "类型",required = false)
 	private TransType transType;
 
 	private TransStatus transStatus;
 
 	private Integer userId;
 
+	@ApiModelProperty(value = "开始时间",required = false)
+	private Date startTime;
+
+	@ApiModelProperty(value = "结束时间",required = false)
+	private Date endTime;
+
 	public TransType getTransType() {
 		return transType;
 	}
@@ -35,4 +45,20 @@ public class TenantAccountDetailQueryInfo extends QueryInfo {
 	public void setUserId(Integer userId) {
 		this.userId = userId;
 	}
+
+	public Date getStartTime() {
+		return startTime;
+	}
+
+	public void setStartTime(Date startTime) {
+		this.startTime = startTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
 }

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

@@ -19,6 +19,9 @@ public class TenantPaymentOrderQueryInfo extends QueryInfo {
 
 	@ApiModelProperty(value = "老师编号", required = false)
 	private Integer userId;
+	
+	@ApiModelProperty(value = "老师电话号码", required = false)
+	private String phone;
 
 	@ApiModelProperty(value = "交易状态", required = false)
 	private DealStatusEnum status;
@@ -61,6 +64,14 @@ public class TenantPaymentOrderQueryInfo extends QueryInfo {
 		this.userId = userId;
 	}
 
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
 	public DealStatusEnum getStatus() {
 		return status;
 	}

+ 61 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleTeacherSalaryService.java

@@ -1,10 +1,12 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.ExportTeacherSalaryDto;
+import com.ym.mec.biz.dal.dto.TeacherCourseSalaryDetail4WebDto;
 import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.page.CourseSalaryQueryInfo4Web;
 import com.ym.mec.biz.dal.page.CourseScheduleTeacherSalaryQueryInfo;
 import com.ym.mec.biz.dal.page.ExportTeacherSalaryQueryInfo;
 import com.ym.mec.common.page.PageInfo;
@@ -12,6 +14,7 @@ import com.ym.mec.common.service.BaseService;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 public interface CourseScheduleTeacherSalaryService extends BaseService<Long, CourseScheduleTeacherSalary> {
 
@@ -95,4 +98,62 @@ public interface CourseScheduleTeacherSalaryService extends BaseService<Long, Co
      * @return
      */
     List<Long> querySettlementScheduleId(String courseScheduleIds);
+
+
+
+    /**
+     * @describe 确定教师指定月份的课酬
+     * @author Joburgess
+     * @date 2020/4/15
+     * @param teacherId:
+     * @param month:
+     * @return void
+     */
+    void confirmTeacherMonthSalary(Integer teacherId, String month);
+
+    /**
+     * @describe 获取课酬记录
+     * @author Joburgess
+     * @date 2020/4/15
+     * @param queryInfo:
+     * @return com.ym.mec.common.page.PageInfo<com.ym.mec.biz.dal.dto.TeacherCourseSalaryDetail4WebDto>
+     */
+    PageInfo<TeacherCourseSalaryDetail4WebDto> findIsSettlementCourseSalarys(CourseSalaryQueryInfo4Web queryInfo);
+
+    /**
+     * @describe 获取老师指定月份课酬信息
+     * @author Joburgess
+     * @date 2020/4/15
+     * @param queryInfo4Web:
+     * @return java.util.Map<java.lang.String,java.lang.Object>
+     */
+    Map<String, Object> findTeacherSettlementCourseSalarys(CourseSalaryQueryInfo4Web queryInfo4Web);
+
+    /**
+     * @describe 获取教师指定年份每月的课酬
+     * @author Joburgess
+     * @date 2020/4/15
+     * @param teacherId:
+     * @param year:
+     * @return java.util.Map<java.lang.String,java.lang.Object>
+     */
+    Map<String, Object> findTeacherYearSalarys(Integer teacherId, String year);
+
+    /**
+     * @describe 开启课酬确认
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param month:
+     * @return void
+     */
+    void openSalaryConfirm(String month);
+
+    /**
+     * @describe 关闭课酬确认
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param month:
+     * @return void
+     */
+    void closeSalaryConfirm(String month);
 }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CoursesGroupService.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.GroupHeadInfoDto;
 import com.ym.mec.biz.dal.entity.CoursesGroup;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.page.GroupCourseScheduleQueryInfo;
+import com.ym.mec.biz.dal.page.GroupQueryInfo;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -32,6 +33,24 @@ public interface CoursesGroupService extends BaseService<Long, CoursesGroup> {
     PageInfo findTeacherCourseGroups(Integer teacherId, GroupCourseScheduleQueryInfo queryInfo);
 
     /**
+     * @describe
+     * @author Joburgess
+     * @date 2020/4/6
+     * @param queryInfo:
+     * @return com.ym.mec.common.page.PageInfo
+     */
+    PageInfo findTeacherCourseGroupsWithWeb(GroupQueryInfo queryInfo);
+
+    /**
+     * @describe
+     * @author Joburgess
+     * @date 2020/4/6
+     * @param queryInfo:
+     * @return com.ym.mec.common.page.PageInfo
+     */
+    PageInfo findStudentCourseGroupsWithWeb(GroupQueryInfo queryInfo);
+
+    /**
      * @describe 获取课程对应班级头部信息
      * @author Joburgess
      * @date 2020/3/10

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesReplyService.java

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
+import com.ym.mec.biz.dal.dto.ExtraExerciseStudentsDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
+import com.ym.mec.biz.dal.page.ExtraExercilseReplyQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -47,4 +49,21 @@ public interface ExtracurricularExercisesReplyService extends BaseService<Long,
      */
     void submitExtraExercise(ExtracurricularExercisesReply extracurricularExercisesReply);
 
+    /**
+     * @describe 获取学生课外训练
+     * @author Joburgess
+     * @date 2020/4/7
+     * @param queryInfo:
+     * @return com.ym.mec.common.page.PageInfo
+     */
+    PageInfo<ExtraExerciseStudentsDto> findExtraExercises(ExtraExercilseReplyQueryInfo queryInfo);
+
+    /**
+     * @describe 学生服务信息统计
+     * @author Joburgess
+     * @date 2020/4/10
+     * @param : 
+     * @return void
+     */
+    void exercisesSituationStatistics();
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupNoticeService.java

@@ -4,4 +4,6 @@ import com.ym.mec.biz.dal.entity.ImGroupNotice;
 import com.ym.mec.common.service.BaseService;
 
 public interface ImGroupNoticeService extends BaseService<Long, ImGroupNotice> {
+
+    ImGroupNotice getNewNotice(Long groupId);
 }

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

@@ -0,0 +1,13 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
+import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
+import com.ym.mec.biz.dal.page.StudentExercisesSituationQueryInfo;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.service.BaseService;
+
+public interface StudentExtracurricularExercisesSituationService extends BaseService<Long, StudentExtracurricularExercisesSituation> {
+
+    PageInfo<StudentExercisesSituationDto> findStudentExtracurricularExercisesSituations(StudentExercisesSituationQueryInfo queryInfo);
+
+}

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java

@@ -145,4 +145,11 @@ public interface StudentManageService {
      * @return
      */
     Map<String,Integer> sumStudentAttendance(Integer courseScheduleId);
+
+    /**
+     * 运营指标学生
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<Student4operating> getOperatingStudents(StudentOperatingQueryInfo queryInfo);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service;
 
+import java.text.ParseException;
+
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.page.StudentQueryInfo;
 import com.ym.mec.common.page.PageInfo;
@@ -9,4 +11,12 @@ public interface StudentService extends BaseService<Integer, Student> {
 
     PageInfo findStudentVipGroupList(StudentQueryInfo queryInfo);
 
+    Long upSet(Student student);
+
+    /**
+     * 更新学生运营指标
+     * @return
+     * @throws ParseException 
+     */
+    boolean updateOperatingTag() throws ParseException;
 }

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

@@ -176,6 +176,8 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     String COURSE_AFTER_BUFFER_TIME = "course_after_buffer_time";
 
+    String NEW_MSG_PUSH = "您收到一条作业回复,请点击查看";
+
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName

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

@@ -34,7 +34,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param messageType
 	 * @return
 	 */
-	void batchSendImMessage(MessageTypeEnum messageType,String senderId, String[] targetIds,String url, Object... args);
+	void batchSendImMessage(MessageTypeEnum messageType,String senderId,String extra, String[] targetIds,String url, Object... args);
 
 	/**
 	 * 批量发送消息

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountDetailService.java

@@ -1,8 +1,12 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.PageInfoTenantDto;
 import com.ym.mec.biz.dal.entity.SysTenantAccountDetail;
+import com.ym.mec.biz.dal.page.TenantAccountDetailQueryInfo;
 import com.ym.mec.common.service.BaseService;
+import org.apache.poi.ss.formula.functions.T;
 
 public interface SysTenantAccountDetailService extends BaseService<Long, SysTenantAccountDetail> {
 
+    PageInfoTenantDto<SysTenantAccountDetail> getPageList(TenantAccountDetailQueryInfo queryInfo);
 }

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

@@ -20,4 +20,15 @@ public interface SysTenantAccountService extends BaseService<Integer, SysTenantA
 	 * @return
 	 */
 	public boolean update(Integer userId, int minutes, String orderNo, TransType type, String transNo, BigDecimal cashAmount, String memo);
+
+	/**
+	 * 后台人工更新账户
+	 * @param teacherId 用户编号
+	 * @param minutes 分钟数
+	 * @param type 交易类型
+	 * @param operatorId 操作人
+	 * @param memo 备注
+	 * @return
+	 */
+	boolean manualUpdate(Integer teacherId, int minutes, TransType type,Integer operatorId, String memo);
 }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherSalaryComplaintsService.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.TeacherSalaryComplaints;
+import com.ym.mec.common.service.BaseService;
+
+public interface TeacherSalaryComplaintsService extends BaseService<Long, TeacherSalaryComplaints> {
+
+	/**
+	 * 课酬申述处理
+	 * @param complaints
+	 */
+	void complaintsDispose(TeacherSalaryComplaints complaints);
+
+	/**
+	 * 课酬申述
+	 * @param complaints
+	 * @return
+	 */
+	Object add(TeacherSalaryComplaints complaints);
+
+	/**
+	 * 获取未处理申述
+	 * @param salarySettlementMonth
+	 * @return
+	 */
+	Object findByMonth(String salarySettlementMonth);
+
+	/**
+	 * 撤销申述
+	 * @param salarySettlementMonth
+	 * @return
+	 */
+	void repealComplaints(String salarySettlementMonth);
+}

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

@@ -0,0 +1,13 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.TeacherSalaryModifyLog;
+import com.ym.mec.common.service.BaseService;
+
+public interface TeacherSalaryModifyLogService extends BaseService<Long, TeacherSalaryModifyLog> {
+    /**
+     * 新增修改记录
+     * @param modifyLog
+     * @return
+     */
+    Object add(TeacherSalaryModifyLog modifyLog);
+}

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

@@ -1,9 +1,8 @@
 package com.ym.mec.biz.service;
 
-import java.util.Map;
-
 import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
 import com.ym.mec.biz.dal.page.TenantPaymentOrderQueryInfo;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.service.BaseService;
 
 public interface TenantPaymentOrderService extends BaseService<Long, TenantPaymentOrder> {
@@ -12,9 +11,10 @@ public interface TenantPaymentOrderService extends BaseService<Long, TenantPayme
 	 * 下单
 	 * @param userId
 	 * @param activitiesId
+	 * @param isContinuePay 是否继续付款
 	 * @return
 	 */
-	public Map<String, Object> createOrder(Integer userId, Integer activitiesId);
+	public HttpResponseResult createOrder(Integer userId, Integer activitiesId, boolean isContinuePay);
 
 	/**
 	 * 回调

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

@@ -1,17 +1,37 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.ym.mec.biz.dal.dto.StudentRecoverInfoDto;
+import com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto;
+import com.ym.mec.biz.dal.dto.TeacherBasicDto;
+import com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo;
+import com.ym.mec.biz.dal.dto.VipBuyResultDto;
+import com.ym.mec.biz.dal.dto.VipGroupApplyBaseInfoDto;
+import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
+import com.ym.mec.biz.dal.dto.VipGroupBuyParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupManageDetailDto;
+import com.ym.mec.biz.dal.dto.VipGroupPayInfoDto;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.StudentApplyRefunds.StudentApplyRefundsStatus;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentRecoverDto;
+import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
-import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupSalaryQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-
 public interface VipGroupService extends BaseService<Long, VipGroup> {
 
     /**
@@ -394,7 +414,9 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
 
     /**
      * 更新线上课老师的课酬
+     * @param startDate
+     * @param endDate
      * @return
      */
-    void updateHistoryTeacherSalaryOfOnline();
+    void updateHistoryTeacherSalaryOfOnline(Date startDate, Date endDate);
 }

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -24,7 +24,6 @@ import com.ym.mec.jiari.JiaRiFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -2615,10 +2614,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public ClassGroup findGroupById(Integer groupId) {
         ClassGroup classGroup = classGroupDao.get(groupId);
         if(classGroup != null){
+            classGroup.setViewGroupName(classGroup.getName());
+            classGroup.setName(StringUtils.isEmpty(classGroup.getGroupName())?classGroup.getName():classGroup.getGroupName());
             if(classGroup.getGroupType() == GroupType.MUSIC){
                 MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
                 if(musicGroup != null){
-                    classGroup.setName(musicGroup.getName() + " " + (StringUtils.isEmpty(classGroup.getGroupName())?classGroup.getName():classGroup.getGroupName()));
+                    classGroup.setMusicGroupName(musicGroup.getName());
                 }
             }
         }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
 import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.StudentCourseHomeworkReplyDao;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
@@ -35,6 +36,9 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 	private StudentCourseHomeworkDao studentCourseHomeworkDao;
 
 	@Autowired
+	private StudentCourseHomeworkReplyDao studentCourseHomeworkReplyDao;
+
+	@Autowired
 	private SysMessageService sysMessageService;
 
 	@Override
@@ -114,8 +118,8 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 		courseHomeworkDao.delByCourseScheduleId(courseScheduleId);
 		// 删除学生作业
 		studentCourseHomeworkDao.delByCourseScheduleId(courseScheduleId);
-		// 删除学生回复的作业
-
+		// 删除作业回复
+		studentCourseHomeworkReplyDao.delByCourseScheduleId(courseScheduleId);
 		return true;
 	}
 
@@ -126,6 +130,8 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 		courseHomeworkDao.batchDelByCourseScheduleId(courseScheduleIdList);
 		// 删除学生作业
 		studentCourseHomeworkDao.batchDelByCourseScheduleId(courseScheduleIdList);
+		// 删除作业回复
+		studentCourseHomeworkReplyDao.delByCourseScheduleIds(courseScheduleIdList);
 		return true;
 	}
 }

+ 60 - 54
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -9,29 +9,21 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import com.ym.mec.common.entity.ImPrivateMessage;
 import com.ym.mec.common.entity.ImTxtMessage;
 import com.ym.mec.im.ImFeignService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleComplaintsDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleReviewDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.PracticeGroupDao;
-import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
-import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
@@ -103,13 +95,16 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     private TeacherDao teacherDao;
 
     @Autowired
+    private StudentDao studentDao;
+
+    @Autowired
     private CourseScheduleComplaintsDao courseScheduleComplaintsDao;
 
     @Autowired
     private SysConfigDao sysConfigDao;
 
     @Autowired
-    private RedisCache redisCache;
+    private RedisCache<String, Object> redisCache;
 
     @Override
     public BaseDAO<Integer, CourseScheduleReview> getDAO() {
@@ -169,7 +164,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public CourseScheduleReview addPracticeGroupReview(CourseScheduleReview courseScheduleReview) {
         Integer courseScheduleId = courseScheduleReview.getCourseScheduleId();
         if (courseScheduleId == null || courseScheduleId <= 0) {
@@ -181,49 +176,54 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
             throw new BizException("课程不存在");
         }
 
-        String lockKey = "course_review" + courseSchedule.getId();
-        if (!redisCache.getLocked(lockKey, 1, 10)) {
-            throw new BizException("评论提交中,请稍等");
-        }
+        studentDao.lockUser(courseScheduleReview.getTeacherId());
+
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
 
-        try {
-            CourseScheduleReview hasReview = courseScheduleReviewDao.findByCourseScheduleAndStudent(courseScheduleId.longValue(), practiceGroup.getStudentId());
-            if (hasReview != null) {
-                throw new BizException("评论已提交,请勿重复提交");
-            }
-            courseScheduleReview.setClassGroupId(courseSchedule.getClassGroupId());
-            courseScheduleReview.setEducationalTeacherId(practiceGroup.getEducationalTeacherId());
-            courseScheduleReview.setStudentId(practiceGroup.getStudentId());
-            courseScheduleReview.setCreateTime(date);
-            courseScheduleReview.setUpdateTime(date);
-            long num = courseScheduleReviewDao.insert(courseScheduleReview);
-            if (num <= 0) {
-                throw new BizException("评论提交失败,请重试");
-            }
+        CourseScheduleReview hasReview = courseScheduleReviewDao.findByCourseScheduleAndStudent(courseScheduleId.longValue(), practiceGroup.getStudentId());
+        if (hasReview != null) {
+            throw new BizException("评论已提交,请勿重复提交");
+        }
+        courseScheduleReview.setClassGroupId(courseSchedule.getClassGroupId());
+        courseScheduleReview.setEducationalTeacherId(practiceGroup.getEducationalTeacherId());
+        courseScheduleReview.setStudentId(practiceGroup.getStudentId());
+        courseScheduleReview.setCreateTime(date);
+        courseScheduleReview.setUpdateTime(date);
+        long num = courseScheduleReviewDao.insert(courseScheduleReview);
+        if (num <= 0) {
+            throw new BizException("评论提交失败,请重试");
+        }
 
-            CourseHomework existHomework = courseHomeworkDao.findByCourseSchedule(courseScheduleId.longValue());
+        CourseHomework existHomework = courseHomeworkDao.findByCourseSchedule(courseScheduleId.longValue());
 
-            if (StringUtils.isNotBlank(courseScheduleReview.getHomeWork()) && Objects.isNull(existHomework)) {
-                //新增课堂作业
-                CourseHomework courseHomework = new CourseHomework();
+        if (StringUtils.isNotBlank(courseScheduleReview.getHomeWork())) {
+            //新增课堂作业
+            CourseHomework courseHomework = new CourseHomework();
+            List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
+
+            if(Objects.nonNull(existHomework)){
+                courseHomework.setId(existHomework.getId());
+                courseHomework.setContent(courseScheduleReview.getHomeWork());
+                courseHomework.setExpiryDate(DateUtil.addDays(date, 7));
+                courseHomeworkService.update(courseHomework);
+            }else{
                 courseHomework.setContent(courseScheduleReview.getHomeWork());
                 courseHomework.setCourseScheduleId(courseSchedule.getId());
                 courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());
                 courseHomework.setGroupType(courseSchedule.getGroupType());
                 courseHomework.setClassGroupId(courseSchedule.getClassGroupId());
                 courseHomework.setExpiryDate(DateUtil.addDays(date, 7));
-                List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
-
                 courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments) ? 0 : courseScheduleStudentPayments.size());
                 courseHomeworkService.insert(courseHomework);
+            }
 
-                if (!CollectionUtils.isEmpty(courseScheduleStudentPayments)) {
+            if (!CollectionUtils.isEmpty(courseScheduleStudentPayments)) {
 //                    List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
-                    Teacher teacher = teacherDao.get(courseScheduleReview.getTeacherId());
-                    String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 1), "MM月dd日");
-                    for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
-                        StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
+                Teacher teacher = teacherDao.get(courseScheduleReview.getTeacherId());
+                String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 1), "MM月dd日");
+                for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
+                    StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
+                    if(Objects.isNull(existHomework)){
                         studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
                         studentCourseHomework.setUserId(courseScheduleStudentPayment.getUserId());
                         studentCourseHomework.setCourseScheduleId(courseSchedule.getId());
@@ -232,25 +232,31 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                         studentCourseHomework.setStatus(YesOrNoEnum.NO);
                         studentCourseHomework.setIsView(YesOrNoEnum.NO);
                         studentCourseHomework.setIsReplied(YesOrNoEnum.NO);
+                        studentCourseHomework.setIsRepliedTimely(0);
                         studentCourseHomeworkDao.insert(studentCourseHomework);
+                    }else{
+                        studentCourseHomework = studentCourseHomeworkDao.findByStudentAndCourseHomewok(existHomework.getId(), courseScheduleStudentPayment.getUserId());
+                    }
 
-                        Map<Integer, String> userMap = new HashMap<>();
-                        userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
-                        String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
-                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND,courseScheduleReview.getTeacherId().toString(),
-                                                        new String[]{courseScheduleStudentPayment.getUserId().toString()},
-                                                        null,courseSchedule.getName(), dateStr,courseHomework.getContent());
-                        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
-                                userMap, null, 0, notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
+                    Map<Integer, String> userMap = new HashMap<>();
+                    userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
+                    String notifyUrl = "?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
+                    String extra = "dayaedu" + notifyUrl + "&userId=" + courseScheduleStudentPayment.getUserId();
+                    if (courseScheduleReview.getMsgType() != ImSendTypeEnum.TXT){
+                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND_DETAIL,courseScheduleReview.getTeacherId().toString(),extra,
+                                new String[]{courseScheduleStudentPayment.getUserId().toString()},
+                                null,courseSchedule.getName(), dateStr,courseHomework.getContent());
+                    }else {
+                        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND,courseScheduleReview.getTeacherId().toString(),extra,
+                                new String[]{courseScheduleStudentPayment.getUserId().toString()},
+                                null,courseSchedule.getName(), dateStr,courseHomework.getContent());
                     }
+                    sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
+                            userMap, null, 0, 3+notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
                 }
             }
-
-        } finally {
-            redisCache.releaseLocked(lockKey, 1);
         }
 
-
         return courseScheduleReview;
     }
 

+ 19 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -30,7 +30,6 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.json.JsonUtil;
 import feign.codec.DecodeException;
-import io.swagger.models.auth.In;
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -662,6 +661,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		// 删除作业
 		courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleIds);
+		//删除评论
+		courseScheduleReviewDao.delByCourseScheduleIds(courseScheduleIds);
+		//删除申述
+		courseScheduleComplaintsDao.delByCourseScheduleIds(courseScheduleIds);
 
 		Date endDate = null;
 		Date startDate = null;
@@ -2046,6 +2049,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         if(vipGroupCourseAdjustInfo.getCourseCreateStartTime().after(now)){
             teacherAttendanceDao.batchCleanCourseTeacherSignInfo(courseScheduleIds);
         }
+		// 删除作业
+		courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleIds);
+		//删除评论
+		courseScheduleReviewDao.delByCourseScheduleIds(courseScheduleIds);
+		//删除申述
+		courseScheduleComplaintsDao.delByCourseScheduleIds(courseScheduleIds);
 //        vipGroupService.checkVipCourseIsInScore(vipGroupCourseAdjustInfo.getVipGroupId().longValue());
 //        courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
         if(scheduleModifyLogs.size() == courseSchedules.size()){
@@ -3579,6 +3588,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     	continue;
 					}
                     Date courseEndTime = DateUtil.addMinutes(courseStartTime, courseGenerateInfo.getSingleClassMinutes());
+                    if(!DateUtil.isSameDay(courseStartTime, courseEndTime)){
+                    	throw new BizException("暂不支持单节课跨天");
+					}
                     CourseSchedule courseSchedule = new CourseSchedule();
                     courseSchedule.setClassDate(courseStartTime);
                     courseSchedule.setStartClassTime(courseStartTime);
@@ -3748,18 +3760,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             //清空学生签到记录
             studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
         }
+		// 删除作业
+		courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleId);
+        //删除评论
+		courseScheduleReviewDao.delByCourseScheduleId(courseScheduleId);
+		//删除申述
+		courseScheduleComplaintsDao.delByCourseScheduleId(courseScheduleId);
         courseScheduleDao.update(oldCourseSchedule);
         courseScheduleModifyLogDao.insert(scheduleModifyLog);
     }
 
-	/**
-	 * 课程调整后清除课程相关信息
-	 */
-	@Transactional(rollbackFor = Exception.class)
-    private void cleanCourseMapper(){
-
-	}
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void practiceCourseTeacherAdjust(Long courseScheduleId,Integer teacherId) {

Some files were not shown because too many files changed in this diff