Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

Joburgess 5 gadi atpakaļ
vecāks
revīzija
ddd26cc25a

+ 158 - 138
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -35,9 +35,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @date 2019/10/18
      */
     List<TeacherAttendanceDto> getTeacherCourseByDateSpeed(@Param("startTime") Date startTime,
-                                                     @Param("endTime") Date endTime,
-                                                     @Param("teacherId") Long teacherId,
-                                                     @Param("schoolId") Integer schoolId);
+                                                           @Param("endTime") Date endTime,
+                                                           @Param("teacherId") Long teacherId,
+                                                           @Param("schoolId") Integer schoolId);
 
     int batchAddCourseSchedules(List<CourseSchedule> courseSchedules);
 
@@ -62,11 +62,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int batchDeleteCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
+     * @param courseScheduleIds: 课程计划编号
+     * @return java.util.List<java.lang.Long>
      * @describe 过滤掉已结束的课程编号
      * @author Joburgess
      * @date 2019/12/24
-     * @param courseScheduleIds: 课程计划编号
-     * @return java.util.List<java.lang.Long>
      */
     List<Long> filterNotStartCourseIdsWithIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
@@ -84,30 +84,30 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
 
     /**
+     * @param musicGroupId: 乐团编号
+     * @param status:       状态
+     * @param userId:       用户编号
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取乐团下学生指定状态的课程
      * @author Joburgess
      * @date 2019/11/26
-     * @param musicGroupId: 乐团编号
-     * @param status: 状态
-     * @param userId: 用户编号
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findMusicGroupCourseSchedulesWithStudent(@Param("musicGroupId") String musicGroupId,
-                                                       @Param("groupType") String groupType,
-                                                       @Param("status") String status,
-                                                       @Param("userId") Integer userId);
+                                                                  @Param("groupType") String groupType,
+                                                                  @Param("status") String status,
+                                                                  @Param("userId") Integer userId);
 
 
     /**
+     * @param courseScheduleIds: 课程编号列表
+     * @param userId:            用户编号
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 删除指定乐团下学生的课程
      * @author Joburgess
      * @date 2019/11/26
-     * @param courseScheduleIds: 课程编号列表
-     * @param userId: 用户编号
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     int deleteMusicGroupCourseSchedulesWithStudent(@Param("courseScheduleIds") List<Long> courseScheduleIds,
-                                                                  @Param("userId") Integer userId);
+                                                   @Param("userId") Integer userId);
 
     /**
      * @param teacherId: 教师编号
@@ -186,12 +186,12 @@ 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 2019/12/26
      * @param classDate:
      * @param teacherId:
      * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
+     * @describe
+     * @author Joburgess
+     * @date 2019/12/26
      */
     List<CourseScheduleDto> getTeacherHistoryCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("teacherId") Long teacherId);
 
@@ -213,28 +213,30 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/18
      */
-    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupId")String musicGroupId, @Param("groupType")GroupType groupType);
+    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupId") String musicGroupId, @Param("groupType") GroupType groupType);
 
     /**
-     * @describe 根据团体删除班级
-     * @author Joburgess
-     * @date 2020/2/17
      * @param groupId:
      * @param groupType:
      * @return int
+     * @describe 根据团体删除班级
+     * @author Joburgess
+     * @date 2020/2/17
      */
     int deleteByGroup(@Param("groupId") String groupId,
-                      @Param("groupType")GroupType groupType);
+                      @Param("groupType") GroupType groupType);
 
     /**
      * 逻辑删除乐团课程
+     *
      * @param musicGroupID
      * @return
      */
     int logicDeleteCourseSchedulesByMusicGroupID(@Param("musicGroupID") String musicGroupID);
-    
+
     /**
      * 恢复乐团课程
+     *
      * @param musicGroupID
      * @return
      */
@@ -272,12 +274,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Date> getTeacherCourseScheduleDate(@Param("teacherId") Long teacherId, @Param("month") Date month, @Param("type") String type);
 
     /**
+     * @param teacherId: 教师编号
+     * @param month:     月份
+     * @return java.util.List<java.util.Date>
      * @describe 获取教师历史有课日期
      * @author Joburgess
      * @date 2019/12/26
-     * @param teacherId: 教师编号
-     * @param month: 月份
-     * @return java.util.List<java.util.Date>
      */
     List<Date> getTeacherHistoryCourseScheduleDate(@Param("teacherId") Integer teacherId, @Param("month") Date month);
 
@@ -398,18 +400,18 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @params [vipGroupId]
      * @describe 获取vip课排课计划
      */
-    List<CourseSchedule> findGroupCourseSchedules(@Param("groupId") Long groupId,@Param("groupType")String groupType);
+    List<CourseSchedule> findGroupCourseSchedules(@Param("groupId") Long groupId, @Param("groupType") String groupType);
 
     /**
+     * @param groupId:   乐团编号
+     * @param groupType: 乐团类型
+     * @return java.util.List<java.lang.Integer>
      * @describe 获取对应乐团下未开始的排课计划编号列表
      * @author Joburgess
      * @date 2019/12/5
-     * @param groupId: 乐团编号
-     * @param groupType: 乐团类型
-     * @return java.util.List<java.lang.Integer>
      */
     List<Long> findVipGroupNotStartCourseScheduleIds(@Param("groupId") String groupId,
-                                                        @Param("groupType") String groupType);
+                                                     @Param("groupType") String groupType);
 
     /**
      * @return java.lang.String
@@ -509,11 +511,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("schoolId") Integer schoolId);
 
     /**
+     * @param courseScheduleId:
+     * @return int
      * @describe 统计课程上的学生人数
      * @author Joburgess
      * @date 2019/11/21
-     * @param courseScheduleId:
-     * @return int
      */
     @Select("SELECT COUNT(*) FROM course_schedule_student_payment sa WHERE sa.course_schedule_id_ = #{courseScheduleID}")
     int countCourseStudentNum(@Param("courseScheduleID") Long courseScheduleId);
@@ -577,20 +579,20 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     Integer countMusicGroupIds(Map<String, Object> params);
 
     /**
-     * @describe 获取学员购买的所有乐团和vip编号分页列表,排除已结束的乐团
-     * @author Joburgess
-     * @date 2019/12/2
      * @param params: 参数
      * @return java.util.List<java.lang.String>
+     * @describe 获取学员购买的所有乐团和vip编号分页列表, 排除已结束的乐团
+     * @author Joburgess
+     * @date 2019/12/2
      */
     List<Group> queryMusicGroupIdsWithoutOverGroup(Map<String, Object> params);
 
     /**
-     * @describe count学员购买的所有乐团和vip编号分页列表,排除已结束的乐团
-     * @author Joburgess
-     * @date 2019/12/2
      * @param params: 参数
      * @return java.util.List<java.lang.String>
+     * @describe count学员购买的所有乐团和vip编号分页列表, 排除已结束的乐团
+     * @author Joburgess
+     * @date 2019/12/2
      */
     Integer countMusicGroupIdsWithoutOverGroup(Map<String, Object> params);
 
@@ -614,7 +616,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @date 2019/10/31
      */
     List<CourseSchedule> findAllCourseByDateZone(@Param("startTime") Date startTime,
-                                        @Param("endTime") Date endTime);
+                                                 @Param("endTime") Date endTime);
 
     List<CourseSchedule> findByClassDate(@Param("classDates") List<String> classDates);
 
@@ -627,7 +629,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @date 2019/10/31
      */
     List<CourseSchedule> findAllCourseByDateZone2(@Param("startTime") Date startTime,
-                                                 @Param("endTime") Date endTime);
+                                                  @Param("endTime") Date endTime);
 
     /**
      * 查询学生明天的课程数
@@ -745,11 +747,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Map<Integer, Integer>> countClassGroupCourseTimes(@Param("classGroupIds") List<Integer> classGroupIds);
 
     /**
+     * @param classGroupId:
+     * @return int
      * @describe 统计班级上的课程数量
      * @author Joburgess
      * @date 2020/2/13
-     * @param classGroupId:
-     * @return int
      */
     int countClassGroupCourses(@Param("classGroupId") Integer classGroupId);
 
@@ -781,41 +783,42 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 修改未上课程教学点
+     *
      * @param groupType
      * @param musicGroupId
      * @param schoolId
      */
-    void updateCourseScheduleSchool(@Param("groupType") String groupType,@Param("musicGroupId") String musicGroupId,@Param("schoolId") Integer schoolId);
+    void updateCourseScheduleSchool(@Param("groupType") String groupType, @Param("musicGroupId") String musicGroupId, @Param("schoolId") Integer schoolId);
 
     int countCourseScheduleByMusicGroupId(@Param("musicGroupId") String musicGroupId);
 
     /**
+     * @param classGroupId: 班级编号
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取班级上未删除的课程
      * @author Joburgess
      * @date 2019/12/11
-     * @param classGroupId: 班级编号
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findClassGroupCourseSchedules(@Param("classGroupId") Integer classGroupId);
 
     /**
+     * @param classGroupIds: 班级编号,多个逗号分隔
+     * @param fromDate:      开始时间
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取指定班级上指定日期之后的课程
      * @author Joburgess
      * @date 2020/1/2
-     * @param classGroupIds: 班级编号,多个逗号分隔
-     * @param fromDate: 开始时间
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findClassGroupCourseSchedulesWithDate(@Param("classGroupIds") String classGroupIds,
                                                                @Param("fromDate") Date fromDate);
 
     /**
+     * @param groupId:   乐团编号
+     * @param groupType: 乐团类型
+     * @return int
      * @describe 批量修改乐团下所有课程上的教学点
      * @author Joburgess
      * @date 2019/12/11
-     * @param groupId: 乐团编号
-     * @param groupType: 乐团类型
-     * @return int
      */
     int updateCourseSchoolByGroup(@Param("groupId") String groupId,
                                   @Param("groupType") String groupType,
@@ -825,27 +828,27 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int countVipGroupCourses(@Param("vipGroupId") Integer vipGroupId);
 
     /**
-     * @describe 获取学生剩余课程信息
-     * @author Joburgess
-     * @date 2019/12/19
      * @param groupType:
      * @param groupId:
      * @param userId:
      * @return java.util.List<com.ym.mec.biz.dal.dto.StudentCourseInfoDto>
+     * @describe 获取学生剩余课程信息
+     * @author Joburgess
+     * @date 2019/12/19
      */
     List<StudentCourseInfoDto> findUserSurplusCourseInfoByGroup(@Param("groupType") GroupType groupType,
-                                                         @Param("groupId") String groupId,
-                                                         @Param("userId") Integer userId);
+                                                                @Param("groupId") String groupId,
+                                                                @Param("userId") Integer userId);
 
     /**
+     * @param groupType: 团体类型
+     * @param groupId:   团体编号
+     * @param userId:    用户编号
+     * @param type:      查询类型:不传查全部,'history'已消耗的,'surplus'剩余的
+     * @return java.util.List<com.ym.mec.biz.dal.dto.StudentCourseInfoDto>
      * @describe 获取学生的课程信息
      * @author Joburgess
      * @date 2020/1/15
-     * @param groupType: 团体类型
-     * @param groupId: 团体编号
-     * @param userId: 用户编号
-     * @param type: 查询类型:不传查全部,'history'已消耗的,'surplus'剩余的
-     * @return java.util.List<com.ym.mec.biz.dal.dto.StudentCourseInfoDto>
      */
     List<StudentCourseInfoDto> findUserCourseInfos(@Param("groupType") GroupType groupType,
                                                    @Param("groupId") String groupId,
@@ -853,29 +856,30 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                    @Param("type") String type);
 
     /**
-     * @describe 获取指定乐团下课程开始时间
-     * @author Joburgess
-     * @date 2019/12/19
      * @param groupType:
      * @param groupId:
      * @return java.util.Date
+     * @describe 获取指定乐团下课程开始时间
+     * @author Joburgess
+     * @date 2019/12/19
      */
     Date getMinCourseTime(@Param("groupType") GroupType groupType,
                           @Param("groupId") String groupId);
 
     /**
-     * @describe 获取指定乐团下课程结束时间
-     * @author Joburgess
-     * @date 2019/12/19
      * @param groupType:
      * @param groupId:
      * @return java.util.Date
+     * @describe 获取指定乐团下课程结束时间
+     * @author Joburgess
+     * @date 2019/12/19
      */
     Date getMaxCourseTime(@Param("groupType") GroupType groupType,
                           @Param("groupId") String groupId);
 
     /**
      * 获取vip未上课时数
+     *
      * @param vipGroupId
      * @return
      */
@@ -883,6 +887,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 已上课时数
+     *
      * @param vipGroupId
      * @return
      */
@@ -890,39 +895,43 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 统计vip课时数
+     *
      * @param vipGroupId
      * @param teachMode
      * @return
      */
-    Integer countCourseNum(@Param("vipGroupId") Long vipGroupId,@Param("teachMode") String teachMode);
+    Integer countCourseNum(@Param("vipGroupId") Long vipGroupId, @Param("teachMode") String teachMode);
 
     /**
+     * @param courseIds: 课程编号列表
+     * @return java.lang.String
      * @describe 根据课程编号获取课程类型
      * @author Joburgess
      * @date 2019/12/15
-     * @param courseIds: 课程编号列表
-     * @return java.lang.String
      */
     List<Map<Integer, String>> getTeachModeById(@Param("courseIds") List<Long> courseIds);
 
     /**
-     *  获取总课时
+     * 获取总课时
+     *
      * @param vipGroupIds
      * @param groupType
      * @return
      */
-    List<Map<String, Long>> countTotalCourseScheduleNum(@Param("vipGroupIds")List<String> vipGroupIds,@Param("groupType") String groupType);
+    List<Map<String, Long>> countTotalCourseScheduleNum(@Param("vipGroupIds") List<String> vipGroupIds, @Param("groupType") String groupType);
 
     /**
      * 获取当前课时(已上)
+     *
      * @param vipGroupIds vip编号
      * @param groupType
      * @return
      */
-    List<Map<String, Long>> countCourseScheduleNum(@Param("vipGroupIds")List<String> vipGroupIds,@Param("groupType") String groupType);
+    List<Map<String, Long>> countCourseScheduleNum(@Param("vipGroupIds") List<String> vipGroupIds, @Param("groupType") String groupType);
 
     /**
      * 根据班级编号count总课时
+     *
      * @param classGroupIds
      * @return
      */
@@ -930,6 +939,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 根据班级编号count当前课时(已上总数)
+     *
      * @param classGroupIds
      * @return
      */
@@ -937,6 +947,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 根据班级编号count剩余课时(未上)
+     *
      * @param classGroupIds
      * @param teacherId
      * @return
@@ -944,95 +955,96 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Map<Integer, Long>> countCurrentNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds, @Param("teacherId") Integer teacherId);
 
     /**
-     * @describe 获取乐团下剩余课程计划
-     * @author Joburgess
-     * @date 2019/12/22
      * @param groupType:
      * @param groupId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     * @describe 获取乐团下剩余课程计划
+     * @author Joburgess
+     * @date 2019/12/22
      */
     List<CourseSchedule> findSurplusCourseWithGroup(@Param("groupType") GroupType groupType,
                                                     @Param("groupId") String groupId);
 
     /**
-     * @describe 获取未开始的课程
      * @param courseScheduleId
+     * @describe 获取未开始的课程
      */
     CourseSchedule getSurplusCourseWithGroup(@Param("courseScheduleId") Long courseScheduleId);
 
     /**
+     * @param classGroupId: 班级编号
+     * @return int
      * @describe 统计班级上已结束课时数
      * @author Joburgess
      * @date 2019/12/25
-     * @param classGroupId: 班级编号
-     * @return int
      */
     int countClassGroupOverCourseNum(@Param("classGroupId") Integer classGroupId);
 
     /**
+     * @param params:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleEndDto>
      * @describe 终极课表获取
      * @author Joburgess
      * @date 2019/12/27
-     * @param params:
-     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleEndDto>
      */
     List<CourseScheduleEndDto> endFindCourseSchedules(Map<String, Object> params);
 
     int endCountCourseSchedules(Map<String, Object> params);
 
     /**
+     * @param search: 搜索关键字
+     * @return java.util.List<java.lang.Integer>
      * @describe 根据关键字查询学生相关的课程编号
      * @author Joburgess
      * @date 2019/12/31
-     * @param search: 搜索关键字
-     * @return java.util.List<java.lang.Integer>
      */
     Set<Integer> findCourseIdsByStudent(String search);
 
     /**
+     * @param search: 搜索关键字
+     * @return java.util.List<java.lang.Integer>
      * @describe 根据关键字查询教师相关的课程编号
      * @author Joburgess
      * @date 2019/12/31
-     * @param search: 搜索关键字
-     * @return java.util.List<java.lang.Integer>
      */
     Set<Integer> findCourseIdsByTeacher(String search);
 
     /**
-     * @describe 统计团体下的总课次
-     * @author Joburgess
-     * @date 2020/1/16
      * @param groupType:
      * @param groupId:
      * @return int
+     * @describe 统计团体下的总课次
+     * @author Joburgess
+     * @date 2020/1/16
      */
     int countGroupAllCourses(@Param("groupType") GroupType groupType,
                              @Param("groupId") String groupId);
 
     /**
-     * @describe 获取乐团开课时间
-     * @author Joburgess
-     * @date 2020/1/16
      * @param groupType:
      * @param groupId:
      * @return java.util.Date
+     * @describe 获取乐团开课时间
+     * @author Joburgess
+     * @date 2020/1/16
      */
     Date findGroupCourseStartTime(@Param("groupType") GroupType groupType,
                                   @Param("groupId") String groupId);
 
     /**
-     * @describe 获取乐团课程结束时间
-     * @author Joburgess
-     * @date 2020/1/16
      * @param groupType:
      * @param groupId:
      * @return java.util.Date
+     * @describe 获取乐团课程结束时间
+     * @author Joburgess
+     * @date 2020/1/16
      */
     Date findGroupCourseEndTime(@Param("groupType") GroupType groupType,
-                                  @Param("groupId") String groupId);
+                                @Param("groupId") String groupId);
 
     /**
      * 获取课程编号列表
+     *
      * @param params
      * @return
      */
@@ -1040,6 +1052,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取课程编号列表
+     *
      * @param params
      * @return
      */
@@ -1047,19 +1060,20 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取陪练课课程编号列表
+     *
      * @param params
      * @return
      */
     Set<Integer> queryPracticeCourseScheduleIds(Map<String, Object> params);
 
     /**
+     * @param userIds:   教师编号列表
+     * @param startTime: 开始时间
+     * @param endTime:   结束时间
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取教师在指定时间段内的课程
      * @author Joburgess
      * @date 2020/2/2
-     * @param userIds: 教师编号列表
-     * @param startTime: 开始时间
-     * @param endTime: 结束时间
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findTeachersCoursesWithDateRange(@Param("userIds") List<Integer> userIds,
                                                           @Param("startTime") Date startTime,
@@ -1067,52 +1081,52 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
 
     int countTeacherPracticeCourse(@Param("userId") Integer userId,
-                                                          @Param("startTime") Date startTime,
-                                                          @Param("endTime") Date endTime);
+                                   @Param("startTime") Date startTime,
+                                   @Param("endTime") Date endTime);
 
     /**
+     * @param userId:    教师编号列表
+     * @param startTime: 开始时间
+     * @param endTime:   结束时间
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取教师在指定时间段内的课程
      * @author Joburgess
      * @date 2020/2/2
-     * @param userId: 教师编号列表
-     * @param startTime: 开始时间
-     * @param endTime: 结束时间
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findTeacherCoursesWithDateRange(@Param("userId") Integer userId,
-                                                          @Param("startTime") Date startTime,
-                                                          @Param("endTime") Date endTime);
+                                                         @Param("startTime") Date startTime,
+                                                         @Param("endTime") Date endTime);
 
     /**
+     * @param userId: 用户编号
+     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
      * @describe 获取指定学员的陪练课
      * @author Joburgess
      * @date 2020/2/3
-     * @param userId: 用户编号
-     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
      */
     List<CourseScheduleDto> findStudentPracticeCourses(@Param("userId") Integer userId);
 
     /**
-     * @describe 获取教师课程中包含指定时间区间的课程
-     * @author Joburgess
-     * @date 2020/2/4
      * @param userId:
      * @param startTime:
      * @param endTime:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     * @describe 获取教师课程中包含指定时间区间的课程
+     * @author Joburgess
+     * @date 2020/2/4
      */
     List<CourseSchedule> findTeacherCoursesWithIncludeDateRange(@Param("userId") Integer userId,
                                                                 @Param("startTime") Date startTime,
                                                                 @Param("endTime") Date endTime);
 
     /**
-     * @describe 获取学生课程中包含指定时间区间的课程
-     * @author Joburgess
-     * @date 2020/2/4
      * @param userId:
      * @param startTime:
      * @param endTime:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     * @describe 获取学生课程中包含指定时间区间的课程
+     * @author Joburgess
+     * @date 2020/2/4
      */
     List<CourseSchedule> findStudentCoursesWithIncludeDateRange(@Param("userId") Integer userId,
                                                                 @Param("startTime") Date startTime,
@@ -1120,15 +1134,17 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取当前课程,下一次连堂课
+     *
      * @param continueCourseTime
      * @param courseSchedule
      * @return
      */
-    CourseSchedule queryContinueCourse(@Param("courseSchedule")CourseSchedule courseSchedule,
-                                @Param("continueCourseTime")String continueCourseTime,@Param("endDateTime")String endDateTime);
+    CourseSchedule queryContinueCourse(@Param("courseSchedule") CourseSchedule courseSchedule,
+                                       @Param("continueCourseTime") String continueCourseTime, @Param("endDateTime") String endDateTime);
 
     /**
      * 获取单节课时长
+     *
      * @param courseScheduleId
      * @return
      */
@@ -1141,53 +1157,54 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/21
      */
-    List<Map<Long, Integer>> countGroupOverCourse(@Param("groupIds") List<String> groupIds,@Param("groupType")String groupType);
+    List<Map<Long, Integer>> countGroupOverCourse(@Param("groupIds") List<String> groupIds, @Param("groupType") String groupType);
 
     /**
+     * @param userId:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取学生相关的课程
      * @author Joburgess
      * @date 2020/2/10
-     * @param userId:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findUserCourses(@Param("userId") Integer userId,
                                          @Param("teacherIds") List<Integer> teacherIds);
 
     /**
+     * @param userId:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取学生相关的课程
      * @author Joburgess
      * @date 2020/2/10
-     * @param userId:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findUserCourses2(@Param("userId") Integer userId,
-                                         @Param("teacherIds") List<Integer> teacherIds);
+                                          @Param("teacherIds") List<Integer> teacherIds);
 
     /**
+     * @param userId:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取学生相关的课程
      * @author Joburgess
      * @date 2020/2/10
-     * @param userId:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findUserCoursesWithPay(@Param("userId") Integer userId,
-                                         @Param("teacherIds") List<Integer> teacherIds);
+                                                @Param("teacherIds") List<Integer> teacherIds);
 
     /**
      * 获取课程实际上课老师
+     *
      * @param courseScheduleIds
      * @return
      */
     List<Map<Long, String>> queryTeacherName(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
-     * @describe 更改团体下课程的冻结状态
-     * @author Joburgess
-     * @date 2020/2/17
      * @param groupId:
      * @param groupType:
-     * @param isLock: 冻结状态:1、冻结,0、正常
+     * @param isLock:    冻结状态:1、冻结,0、正常
      * @return int
+     * @describe 更改团体下课程的冻结状态
+     * @author Joburgess
+     * @date 2020/2/17
      */
     int updateGroupCourseLock(@Param("groupId") String groupId,
                               @Param("groupType") GroupType groupType,
@@ -1195,28 +1212,31 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取当前课程是第几课时
+     *
      * @param courseScheduleId
      * @return
      */
     int countCurrentCourseTime(Long courseScheduleId);
 
     /**
+     * @param classGroupIds: 班级编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取班级课程列表
      * @author Joburgess
      * @date 2020/2/20
-     * @param classGroupIds: 班级编号列表
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findCourseSchedulesByClassGroups(@Param("classGroupIds") List<Integer> classGroupIds);
 
     /**
-     * @describe 获取指定团体的第一节课程
-     * @author Joburgess
-     * @date 2020/2/23
      * @param groupId:
      * @param groupType:
      * @return com.ym.mec.biz.dal.entity.CourseSchedule
+     * @describe 获取指定团体的第一节课程
+     * @author Joburgess
+     * @date 2020/2/23
      */
     CourseSchedule findFirstCourseWithGroup(@Param("groupId") String groupId,
                                             @Param("groupType") GroupType groupType);
+
+    List<CourseSchedule> findClassGroupLastTeacher(@Param("classGroupIds") List<Integer> classGroupIds);
 }

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

@@ -950,8 +950,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<Map<Long, Integer>> vipGroupOverCourses = courseScheduleDao.countGroupOverCourse(musicGroupIds,"VIP");
         Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertIntegerMap(vipGroupOverCourses);
 
-        List<ClassGroupTeacherMapper> bishopTeachers = classGroupTeacherMapperDao.findByClassGroupIdsAndType(classGroupIds, "BISHOP");
-        Map<Integer, Integer> classGroupTeacherMap = bishopTeachers.stream().collect(Collectors.toMap(ClassGroupTeacherMapper::getClassGroupId, ClassGroupTeacherMapper::getUserId));
+        List<CourseSchedule> classGroupLastTeacher = courseScheduleDao.findClassGroupLastTeacher(classGroupIds);
+        Map<Integer, Integer> classGroupTeacherMap = classGroupLastTeacher.stream().collect(Collectors.toMap(CourseSchedule::getClassGroupId, CourseSchedule::getActualTeacherId));
 //        Map<Integer, ClassGroup> classGorupIdMap = byClassGroupIds.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
 
         //统计班级人数

+ 19 - 22
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleEvaluateServiceImpl.java

@@ -13,7 +13,9 @@ import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.http.HttpUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,9 +38,7 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
     @Autowired
     private PracticeGroupDao practiceGroupDao;
     @Autowired
-    private SysConfigDao sysConfigDao;
-    @Autowired
-    private SysMessageService sysMessageService;
+    private RedisCache<String, Object> redisCache;
 
     @Override
     public BaseDAO<Long, CourseScheduleEvaluate> getDAO() {
@@ -52,27 +52,24 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
         if (classGroup == null) {
             throw new BizException("课程不存在!");
         }
-        CourseScheduleEvaluate hasOne = courseScheduleEvaluateDao.findByClassGroupId(courseScheduleEvaluate.getClassGroupId());
-        if (hasOne != null) {
-            throw new BizException("报告已添加,请勿重复提交");
+        String lockKey = "study_report_" + classGroup.getId();
+        if (!redisCache.getLocked(lockKey, 1, 10)) {
+            throw new BizException("报告提交中,请稍等");
         }
-        courseScheduleEvaluate.setMusicGroupId(classGroup.getMusicGroupId());
-        courseScheduleEvaluate.setCreateTime(new Date());
-        long num = courseScheduleEvaluateDao.insert(courseScheduleEvaluate);
-        if (num <= 0) {
-            throw new BizException("报告添加失败,请重试");
+        try {
+            CourseScheduleEvaluate hasOne = courseScheduleEvaluateDao.findByClassGroupId(courseScheduleEvaluate.getClassGroupId());
+            if (hasOne != null) {
+                throw new BizException("报告已添加,请勿重复提交");
+            }
+            courseScheduleEvaluate.setMusicGroupId(classGroup.getMusicGroupId());
+            courseScheduleEvaluate.setCreateTime(new Date());
+            long num = courseScheduleEvaluateDao.insert(courseScheduleEvaluate);
+            if (num <= 0) {
+                throw new BizException("报告添加失败,请重试");
+            }
+        } finally {
+            redisCache.releaseLocked(lockKey, 1);
         }
-        long practiceGroupId = Long.parseLong(classGroup.getMusicGroupId());
-        PracticeGroup practiceGroup = practiceGroupDao.get(practiceGroupId);
-
-        Map<Integer, String> push = new HashMap<>(1);
-        push.put(practiceGroup.getStudentId(), practiceGroup.getStudentId().toString());
-        String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-        String memo = baseUrl + "/#/reportDetail?classGroupId=" + classGroup.getId();
-        BasicUserDto teacherInfo = teacherDao.findTeacherInfo(courseScheduleEvaluate.getTeacherId());
-
-        sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDY_REPORT, push, null, 0, memo, "STUDENT",
-                teacherInfo.getName(),HttpUtil.getSortUrl(memo));
         return true;
     }
 

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 414 - 406
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels