Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

Joburgess před 5 roky
rodič
revize
b945e67c93

+ 35 - 33
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -175,7 +175,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 
         try {
             CourseScheduleReview hasReview = courseScheduleReviewDao.findByCourseScheduleAndStudent(courseScheduleId.longValue(), practiceGroup.getStudentId());
-            if(hasReview != null){
+            if (hasReview != null) {
                 throw new BizException("评论已提交,请勿重复提交");
             }
             courseScheduleReview.setClassGroupId(courseSchedule.getClassGroupId());
@@ -190,25 +190,25 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 
             CourseHomework existHomework = courseHomeworkDao.findByCourseSchedule(courseScheduleId.longValue());
 
-            if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())&&Objects.isNull(existHomework)){
+            if (StringUtils.isNotBlank(courseScheduleReview.getHomeWork()) && Objects.isNull(existHomework)) {
                 //新增课堂作业
-                CourseHomework courseHomework=new CourseHomework();
+                CourseHomework courseHomework = new CourseHomework();
                 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));
+                courseHomework.setExpiryDate(DateUtil.addDays(date, 7));
                 List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
 
-                courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments)?0:courseScheduleStudentPayments.size());
+                courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments) ? 0 : courseScheduleStudentPayments.size());
                 courseHomeworkService.insert(courseHomework);
 
-                if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
-                    List<StudentCourseHomework> studentCourseHomeworks=new ArrayList<>();
+                if (!CollectionUtils.isEmpty(courseScheduleStudentPayments)) {
+                    List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
                     Map<Integer, String> userMap = new HashMap<>();
                     for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
-                        StudentCourseHomework studentCourseHomework=new StudentCourseHomework();
+                        StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
                         studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
                         studentCourseHomework.setUserId(courseScheduleStudentPayment.getUserId());
                         studentCourseHomework.setCourseScheduleId(courseSchedule.getId());
@@ -222,14 +222,14 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                     }
                     studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
                     Teacher teacher = teacherDao.get(courseScheduleReview.getTeacherId());
-                    String dateStr=DateUtil.dateToString(DateUtil.addDays(date,1), "MM月dd日");
-                    String notifyUrl="3?courseScheduleID="+courseSchedule.getId()+"&studentCourseHomeworkId="+courseHomework.getId();
+                    String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 1), "MM月dd日");
+                    String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + courseHomework.getId();
                     sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
                             userMap, null, 0, notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
                 }
             }
 
-        }finally {
+        } finally {
             redisCache.releaseLocked(lockKey, 1);
         }
 
@@ -247,15 +247,17 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         courseScheduleReview.setHomeWork(homework.getContent());
         TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseScheduleReview.getCourseScheduleId());
         courseScheduleReview.setTeacherName(teacherClassGroupInfo.getBishopTeacher());
-        //学生评价
-        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(courseScheduleReview.getStudentId().longValue(), courseScheduleReview.getCourseScheduleId().longValue());
-        ArrayList<CourseScheduleComplaintsDto> courseScheduleComplaints = new ArrayList<>();
-        courseScheduleComplaints.add(courseScheduleComplaint);
 
         ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
         reviewInfoDto.setCourseScheduleReview(courseScheduleReview);
         reviewInfoDto.setTeacherClassHeadInfo(teacherClassGroupInfo);
-        reviewInfoDto.setCourseScheduleComplaints(courseScheduleComplaints);
+        //学生评价
+        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(courseScheduleReview.getStudentId().longValue(), courseScheduleReview.getCourseScheduleId().longValue());
+        if (courseScheduleComplaint != null) {
+            List<CourseScheduleComplaintsDto> courseScheduleComplaints = new ArrayList<>();
+            courseScheduleComplaints.add(courseScheduleComplaint);
+            reviewInfoDto.setCourseScheduleComplaints(courseScheduleComplaints);
+        }
         return reviewInfoDto;
     }
 
@@ -264,9 +266,9 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         CourseSchedule courseSchedule = courseScheduleDao.get(id.longValue());
         ClassGroup classGroup = classGroupService.get(courseSchedule.getClassGroupId());
         TeacherClassHeadInfo teacherClassGroupInfo = classGroupService.findTeacherClassGroupInfo(courseSchedule.getClassGroupId().longValue());
-        teacherClassGroupInfo.setClassDate(DateUtil.dateToString(courseSchedule.getClassDate(),"yyyy年MM月dd日"));
-        teacherClassGroupInfo.setStartClassTime(DateUtil.dateToString(courseSchedule.getStartClassTime(),"HH:mm"));
-        teacherClassGroupInfo.setEndClassTime(DateUtil.dateToString(courseSchedule.getEndClassTime(),"HH:mm"));
+        teacherClassGroupInfo.setClassDate(DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"));
+        teacherClassGroupInfo.setStartClassTime(DateUtil.dateToString(courseSchedule.getStartClassTime(), "HH:mm"));
+        teacherClassGroupInfo.setEndClassTime(DateUtil.dateToString(courseSchedule.getEndClassTime(), "HH:mm"));
         teacherClassGroupInfo.setClassGroupName(classGroup.getName());
         return teacherClassGroupInfo;
     }
@@ -278,34 +280,34 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
             throw new BizException("评论id为空");
         }
         CourseScheduleReview review = courseScheduleReviewDao.get(courseScheduleReview.getId());
-        if(review == null){
+        if (review == null) {
             throw new BizException("评论不存在");
         }
         courseScheduleReviewDao.update(courseScheduleReview);
 
-        if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())){
-            Date date=new Date();
+        if (StringUtils.isNotBlank(courseScheduleReview.getHomeWork())) {
+            Date date = new Date();
             CourseSchedule courseSchedule = courseScheduleDao.get(review.getCourseScheduleId().longValue());
             CourseHomework homework = courseHomeworkDao.findByCourseSchedule(review.getCourseScheduleId().longValue());
-            if(Objects.isNull(homework)){
-                if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())){
+            if (Objects.isNull(homework)) {
+                if (StringUtils.isNotBlank(courseScheduleReview.getHomeWork())) {
                     //新增课堂作业
-                    CourseHomework courseHomework=new CourseHomework();
+                    CourseHomework courseHomework = new CourseHomework();
                     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));
+                    courseHomework.setExpiryDate(DateUtil.addDays(date, 7));
                     List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
 
-                    courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments)?0:courseScheduleStudentPayments.size());
+                    courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments) ? 0 : courseScheduleStudentPayments.size());
                     courseHomeworkService.insert(courseHomework);
 
-                    if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
-                        List<StudentCourseHomework> studentCourseHomeworks=new ArrayList<>();
+                    if (!CollectionUtils.isEmpty(courseScheduleStudentPayments)) {
+                        List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
                         for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
-                            StudentCourseHomework studentCourseHomework=new StudentCourseHomework();
+                            StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
                             studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
                             studentCourseHomework.setUserId(courseScheduleStudentPayment.getUserId());
                             studentCourseHomework.setCourseScheduleId(courseSchedule.getId());
@@ -317,7 +319,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                         studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
                     }
                 }
-            }else if(Objects.isNull(homework.getContent())||!homework.getContent().equals(courseScheduleReview.getHomeWork())){
+            } else if (Objects.isNull(homework.getContent()) || !homework.getContent().equals(courseScheduleReview.getHomeWork())) {
                 homework.setContent(courseScheduleReview.getHomeWork());
                 courseHomeworkDao.update(homework);
             }
@@ -332,8 +334,8 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         courseReviewQueryInfo.setRows(10000);
         PageInfo<CourseReviewDto> practiceGroupReviews = findPracticeGroupReviews(courseReviewQueryInfo);
 
-        if(practiceGroupReviews.getTotal() <=0){
-          return;
+        if (practiceGroupReviews.getTotal() <= 0) {
+            return;
         }
         Map<Integer, List<CourseReviewDto>> teacherNeedReview = practiceGroupReviews.getRows().stream().collect(Collectors.groupingBy(CourseReviewDto::getTeacherId));
 

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

@@ -156,7 +156,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		Set<Integer> studentIds = teacherDao.queryCourseClassStudentIds(teacherId);
 		//获取关联的老师列表
 		studentIds.addAll(teacherDao.queryCourseClassTeacherIds(teacherId));
-
+		studentIds.removeAll(Collections.singleton(null));
 		List<ImGroupModel> musicGroups =  musicGroupDao.queryTeacherGroups(teacherId,search);
 		List<BasicUserDto> teachers = new ArrayList<>();
 		if(musicGroups != null && musicGroups.size() > 0){

+ 20 - 8
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -836,7 +836,7 @@
         SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
         LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
         LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_
-        WHERE vg.group_status_ IN (2,4) AND cgsm.user_id_ = #{studentId}
+        WHERE vg.group_status_ IN (2,3,4) AND cgsm.user_id_ = #{studentId}
     </select>
     <select id="findPracticeTeacherIds" resultType="java.lang.Integer">
         SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
@@ -954,11 +954,12 @@
         UNION ALL
         SELECT cssp.user_id_ FROM music_group mg
         LEFT JOIN course_schedule_student_payment cssp ON mg.id_ = cssp.music_group_id_
-        WHERE (mg.educational_teacher_id_ = #{teacherId} OR mg.director_user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId}) AND cssp.group_type_ = 'MUSIC'
+        WHERE (mg.educational_teacher_id_ = #{teacherId} OR mg.director_user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId})
+        AND cssp.group_type_ = 'MUSIC' AND mg.status_ = 'PROGRESS'
         UNION ALL
         SELECT cssp.user_id_ FROM vip_group vg
         LEFT JOIN course_schedule_student_payment cssp ON vg.id_ = cssp.music_group_id_
-        WHERE vg.educational_teacher_id_ = #{teacherId} AND cssp.group_type_ = 'VIP'
+        WHERE vg.educational_teacher_id_ = #{teacherId} AND cssp.group_type_ = 'VIP' AND vg.group_status_ IN (2,3,4)
         UNION ALL
         SELECT cssp.user_id_ FROM courses_group cg
         LEFT JOIN course_schedule_student_payment cssp ON cg.id_ = cssp.music_group_id_
@@ -976,7 +977,7 @@
         UNION ALL
         SELECT csts.user_id_ FROM vip_group vg 
         LEFT JOIN course_schedule_teacher_salary csts ON vg.id_ = csts.music_group_id_
-        WHERE vg.educational_teacher_id_ = #{teacherId} AND csts.group_type_ = 'VIP'
+        WHERE vg.educational_teacher_id_ = #{teacherId} AND csts.group_type_ = 'VIP' AND vg.group_status_ IN (2,3,4)
         GROUP BY csts.user_id_
         UNION ALL
         SELECT csts.user_id_ FROM courses_group cg 
@@ -991,12 +992,13 @@
         UNION ALL
         SELECT cgtm.user_id_ FROM music_group mg
         LEFT JOIN class_group_teacher_mapper cgtm ON mg.id_ = cgtm.music_group_id_
-        WHERE cgtm.group_type_ = 'MUSIC' AND (mg.educational_teacher_id_ = #{teacherId} OR mg.director_user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId})
+        WHERE cgtm.group_type_ = 'MUSIC' AND mg.status_ = 'PROGRESS'
+        AND (mg.educational_teacher_id_ = #{teacherId} OR mg.director_user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId})
         GROUP BY cgtm.user_id_
         UNION ALL
         SELECT cgtm.user_id_ FROM vip_group vg 
         LEFT JOIN class_group_teacher_mapper cgtm ON vg.id_ = cgtm.music_group_id_
-        WHERE vg.educational_teacher_id_ = #{teacherId} AND cgtm.group_type_ = 'VIP'
+        WHERE vg.educational_teacher_id_ = #{teacherId} AND cgtm.group_type_ = 'VIP' AND vg.group_status_ IN (2,3,4)
         GROUP BY cgtm.user_id_
         UNION ALL
         SELECT cgtm.user_id_ FROM courses_group cg 
@@ -1009,9 +1011,14 @@
         WHERE pg.educational_teacher_id_ = #{teacherId} AND cgtm.group_type_ = 'PRACTICE'
         GROUP BY cgtm.user_id_
         UNION ALL
+        SELECT DISTINCT CONCAT(mg.educational_teacher_id_,mg.director_user_id_,mg.team_teacher_id_) FROM class_group_teacher_mapper cgtm
+        LEFT JOIN music_group mg ON mg.id_ = cgtm.music_group_id_
+        WHERE cgtm.user_id_ = #{teacherId} AND cgtm.group_type_ = 'MUSIC' AND mg.status_ = 'PROGRESS'
+        GROUP BY mg.id_
+        UNION ALL
         SELECT vg.educational_teacher_id_ FROM class_group_teacher_mapper cgtm
         LEFT JOIN vip_group vg ON vg.id_ = cgtm.music_group_id_
-        WHERE cgtm.user_id_ = #{teacherId} AND cgtm.group_type_ = 'VIP'
+        WHERE cgtm.user_id_ = #{teacherId} AND cgtm.group_type_ = 'VIP' AND vg.group_status_ IN (2,3,4)
         GROUP BY vg.educational_teacher_id_
         UNION ALL
         SELECT cg.educational_teacher_id_ FROM class_group_teacher_mapper cgtm
@@ -1024,9 +1031,14 @@
         WHERE cgtm.user_id_ = #{teacherId} AND cgtm.group_type_ = 'PRACTICE'
         GROUP BY pg.educational_teacher_id_
         UNION ALL
+        SELECT DISTINCT CONCAT(mg.educational_teacher_id_,mg.director_user_id_,mg.team_teacher_id_) FROM course_schedule_teacher_salary csts
+        LEFT JOIN music_group mg ON mg.id_ = csts.music_group_id_
+        WHERE csts.user_id_ = #{teacherId} AND csts.group_type_ = 'MUSIC' AND mg.status_ = 'PROGRESS'
+        GROUP BY mg.id_
+        UNION ALL
         SELECT vg.educational_teacher_id_ FROM course_schedule_teacher_salary csts
         LEFT JOIN vip_group vg ON vg.id_ = csts.music_group_id_
-        WHERE csts.user_id_ = #{teacherId} AND csts.group_type_ = 'VIP'
+        WHERE csts.user_id_ = #{teacherId} AND csts.group_type_ = 'VIP' AND vg.group_status_ IN (2,3,4)
         GROUP BY vg.educational_teacher_id_
         UNION ALL
         SELECT cg.educational_teacher_id_ FROM course_schedule_teacher_salary csts