浏览代码

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

yonge 4 年之前
父节点
当前提交
eaefb402ae

+ 105 - 97
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -474,67 +474,71 @@ public class StudentServeServiceImpl implements StudentServeService {
                 weekServiceWithStudent.setActualExercisesNum(0);
                 if(!CollectionUtils.isEmpty(studentAllHomeworks)&&weekServiceWithStudent.getServeType().equals("HOMEWORK")){
                     Set<String> courseIds = Arrays.stream(weekServiceWithStudent.getCourseIds().split(",")).collect(Collectors.toSet());
-                    List<StudentServeCourseHomeworkDto> studentHomeworks = studentAllHomeworks.stream().filter(s -> courseIds.contains(s.getCourseScheduleId())).collect(Collectors.toList());
-                    weekServiceWithStudent.setActualExercisesNum(1);
-                    long replyNum = studentHomeworks.stream().filter(e -> YesOrNoEnum.YES.equals(e.getStatus())).count();
-                    weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
-                    long haveSubmitTimes = studentHomeworks.stream().filter(e -> Objects.nonNull(e.getSubmitTime())).count();
-                    if(replyNum>0&&haveSubmitTimes>0){
-                        Date lastSubmitTime = studentHomeworks.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(StudentServeCourseHomeworkDto::getSubmitTime)).get().getSubmitTime();
-                        weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
-                    }
-                    int exercisesMessageNum=0;
-                    int exercisesMessageTimelyNum=0;
-                    for (StudentServeCourseHomeworkDto studentHomework : studentHomeworks) {
-                        if(!YesOrNoEnum.YES.equals(studentHomework.getStatus())){
-                            continue;
-                        }
-                        if(!YesOrNoEnum.YES.equals(studentHomework.getIsReplied())){
-                            continue;
+                    List<StudentServeCourseHomeworkDto> studentHomeworks = studentAllHomeworks.stream().filter(s -> courseIds.contains(s.getCourseScheduleId().toString())).collect(Collectors.toList());
+                    if(!CollectionUtils.isEmpty(studentHomeworks)){
+                        weekServiceWithStudent.setActualExercisesNum(1);
+                        long replyNum = studentHomeworks.stream().filter(e -> YesOrNoEnum.YES.equals(e.getStatus())).count();
+                        weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
+                        long haveSubmitTimes = studentHomeworks.stream().filter(e -> Objects.nonNull(e.getSubmitTime())).count();
+                        if(replyNum>0&&haveSubmitTimes>0){
+                            Date lastSubmitTime = studentHomeworks.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(StudentServeCourseHomeworkDto::getSubmitTime)).get().getSubmitTime();
+                            weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
                         }
-                        exercisesMessageNum+=1;
-                        if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
-                            exercisesMessageTimelyNum+=1;
+                        int exercisesMessageNum=0;
+                        int exercisesMessageTimelyNum=0;
+                        for (StudentServeCourseHomeworkDto studentHomework : studentHomeworks) {
+                            if(!YesOrNoEnum.YES.equals(studentHomework.getStatus())){
+                                continue;
+                            }
+                            if(!YesOrNoEnum.YES.equals(studentHomework.getIsReplied())){
+                                continue;
+                            }
+                            exercisesMessageNum+=1;
+                            if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
+                                exercisesMessageTimelyNum+=1;
+                            }
                         }
+                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
+                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
                     }
-                    weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
-                    weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
                 }
 
                 List<ExtracurricularExercisesReply> studentAllExercises = studentExercisesMap.get(weekServiceWithStudent.getStudentId());
                 if(!CollectionUtils.isEmpty(studentAllExercises)&&weekServiceWithStudent.getServeType().equals("EXERCISE")){
                     List<ExtracurricularExercisesReply> studentExercises = studentAllExercises.stream().filter(s -> weekServiceWithStudent.getTeacherId().equals(s.getExtracurricularExercises().getTeacherId())).collect(Collectors.toList());
-                    weekServiceWithStudent.setActualExercisesNum(1);
-                    long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();
-                    if(weekServiceWithStudent.getExercisesReplyNum()<=0){
-                        weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
-                    }
-                    long haveSubmitTimes = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).count();
-                    if(replyNum>0&&haveSubmitTimes>0){
-                        Date lastSubmitTime = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(ExtracurricularExercisesReply::getSubmitTime)).get().getSubmitTime();
-                        if(Objects.isNull(weekServiceWithStudent.getLastSubmitTime())||lastSubmitTime.after(weekServiceWithStudent.getLastSubmitTime())){
-                            weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
+                    if(!CollectionUtils.isEmpty(studentExercises)){
+                        weekServiceWithStudent.setActualExercisesNum(1);
+                        long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();
+                        if(weekServiceWithStudent.getExercisesReplyNum()<=0){
+                            weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
                         }
-                    }
-                    int exercisesMessageNum=0;
-                    int exercisesMessageTimelyNum=0;
-                    for (ExtracurricularExercisesReply studentHomework : studentExercises) {
-                        if(!new Integer(1).equals(studentHomework.getStatus())){
-                            continue;
+                        long haveSubmitTimes = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).count();
+                        if(replyNum>0&&haveSubmitTimes>0){
+                            Date lastSubmitTime = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(ExtracurricularExercisesReply::getSubmitTime)).get().getSubmitTime();
+                            if(Objects.isNull(weekServiceWithStudent.getLastSubmitTime())||lastSubmitTime.after(weekServiceWithStudent.getLastSubmitTime())){
+                                weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
+                            }
                         }
-                        if(!new Integer(1).equals(studentHomework.getIsReplied())){
-                            continue;
+                        int exercisesMessageNum=0;
+                        int exercisesMessageTimelyNum=0;
+                        for (ExtracurricularExercisesReply studentHomework : studentExercises) {
+                            if(!new Integer(1).equals(studentHomework.getStatus())){
+                                continue;
+                            }
+                            if(!new Integer(1).equals(studentHomework.getIsReplied())){
+                                continue;
+                            }
+                            exercisesMessageNum+=1;
+                            if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
+                                exercisesMessageTimelyNum+=1;
+                            }
                         }
-                        exercisesMessageNum+=1;
-                        if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
-                            exercisesMessageTimelyNum+=1;
+                        if(weekServiceWithStudent.getExercisesMessageNum()<=0){
+                            weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
+                        }
+                        if(weekServiceWithStudent.getExercisesMessageTimelyNum()<=0){
+                            weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
                         }
-                    }
-                    if(weekServiceWithStudent.getExercisesMessageNum()<=0){
-                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
-                    }
-                    if(weekServiceWithStudent.getExercisesMessageTimelyNum()<=0){
-                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
                     }
                 }
             }
@@ -663,67 +667,71 @@ public class StudentServeServiceImpl implements StudentServeService {
             if(!CollectionUtils.isEmpty(studentAllHomeworks)&&weekServiceWithStudent.getServeType().equals("HOMEWORK")){
                 Set<String> courseIds = Arrays.stream(weekServiceWithStudent.getCourseIds().split(",")).collect(Collectors.toSet());
                 List<StudentServeCourseHomeworkDto> studentHomeworks = studentAllHomeworks.stream().filter(s -> courseIds.contains(s.getCourseScheduleId())).collect(Collectors.toList());
-                weekServiceWithStudent.setActualExercisesNum(1);
-                long replyNum = studentHomeworks.stream().filter(e -> YesOrNoEnum.YES.equals(e.getStatus())).count();
-                weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
-                long haveSubmitTimes = studentHomeworks.stream().filter(e -> Objects.nonNull(e.getSubmitTime())).count();
-                if(replyNum>0&&haveSubmitTimes>0){
-                    Date lastSubmitTime = studentHomeworks.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(StudentServeCourseHomeworkDto::getSubmitTime)).get().getSubmitTime();
-                    weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
-                }
-                int exercisesMessageNum=0;
-                int exercisesMessageTimelyNum=0;
-                for (StudentServeCourseHomeworkDto studentHomework : studentHomeworks) {
-                    if(!YesOrNoEnum.YES.equals(studentHomework.getStatus())){
-                        continue;
-                    }
-                    if(!YesOrNoEnum.YES.equals(studentHomework.getIsReplied())){
-                        continue;
+                if(!CollectionUtils.isEmpty(studentHomeworks)){
+                    weekServiceWithStudent.setActualExercisesNum(1);
+                    long replyNum = studentHomeworks.stream().filter(e -> YesOrNoEnum.YES.equals(e.getStatus())).count();
+                    weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
+                    long haveSubmitTimes = studentHomeworks.stream().filter(e -> Objects.nonNull(e.getSubmitTime())).count();
+                    if(replyNum>0&&haveSubmitTimes>0){
+                        Date lastSubmitTime = studentHomeworks.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(StudentServeCourseHomeworkDto::getSubmitTime)).get().getSubmitTime();
+                        weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
                     }
-                    exercisesMessageNum+=1;
-                    if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
-                        exercisesMessageTimelyNum+=1;
+                    int exercisesMessageNum=0;
+                    int exercisesMessageTimelyNum=0;
+                    for (StudentServeCourseHomeworkDto studentHomework : studentHomeworks) {
+                        if(!YesOrNoEnum.YES.equals(studentHomework.getStatus())){
+                            continue;
+                        }
+                        if(!YesOrNoEnum.YES.equals(studentHomework.getIsReplied())){
+                            continue;
+                        }
+                        exercisesMessageNum+=1;
+                        if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
+                            exercisesMessageTimelyNum+=1;
+                        }
                     }
+                    weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
+                    weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
                 }
-                weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
-                weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
             }
 
             List<ExtracurricularExercisesReply> studentAllExercises = studentExercisesMap.get(weekServiceWithStudent.getStudentId());
             if(!CollectionUtils.isEmpty(studentAllExercises)&&weekServiceWithStudent.getServeType().equals("EXERCISE")){
                 List<ExtracurricularExercisesReply> studentExercises = studentAllExercises.stream().filter(s -> weekServiceWithStudent.getTeacherId().equals(s.getExtracurricularExercises().getTeacherId())).collect(Collectors.toList());
-                weekServiceWithStudent.setActualExercisesNum(1);
-                long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();
-                if(weekServiceWithStudent.getExercisesReplyNum()<=0){
-                    weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
-                }
-                long haveSubmitTimes = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).count();
-                if(replyNum>0&&haveSubmitTimes>0){
-                    Date lastSubmitTime = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(ExtracurricularExercisesReply::getSubmitTime)).get().getSubmitTime();
-                    if(Objects.isNull(weekServiceWithStudent.getLastSubmitTime())||lastSubmitTime.after(weekServiceWithStudent.getLastSubmitTime())){
-                        weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
+                if(!CollectionUtils.isEmpty(studentExercises)){
+                    weekServiceWithStudent.setActualExercisesNum(1);
+                    long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();
+                    if(weekServiceWithStudent.getExercisesReplyNum()<=0){
+                        weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
                     }
-                }
-                int exercisesMessageNum=0;
-                int exercisesMessageTimelyNum=0;
-                for (ExtracurricularExercisesReply studentHomework : studentExercises) {
-                    if(!new Integer(1).equals(studentHomework.getStatus())){
-                        continue;
+                    long haveSubmitTimes = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).count();
+                    if(replyNum>0&&haveSubmitTimes>0){
+                        Date lastSubmitTime = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(ExtracurricularExercisesReply::getSubmitTime)).get().getSubmitTime();
+                        if(Objects.isNull(weekServiceWithStudent.getLastSubmitTime())||lastSubmitTime.after(weekServiceWithStudent.getLastSubmitTime())){
+                            weekServiceWithStudent.setLastSubmitTime(lastSubmitTime);
+                        }
+                    }
+                    int exercisesMessageNum=0;
+                    int exercisesMessageTimelyNum=0;
+                    for (ExtracurricularExercisesReply studentHomework : studentExercises) {
+                        if(!new Integer(1).equals(studentHomework.getStatus())){
+                            continue;
+                        }
+                        if(!new Integer(1).equals(studentHomework.getIsReplied())){
+                            continue;
+                        }
+                        exercisesMessageNum+=1;
+                        if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
+                            exercisesMessageTimelyNum+=1;
+                        }
                     }
-                    if(!new Integer(1).equals(studentHomework.getIsReplied())){
-                        continue;
+                    if(weekServiceWithStudent.getExercisesMessageNum()<=0){
+                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
                     }
-                    exercisesMessageNum+=1;
-                    if(new Integer(1).equals(studentHomework.getIsRepliedTimely())){
-                        exercisesMessageTimelyNum+=1;
+                    if(weekServiceWithStudent.getExercisesMessageTimelyNum()<=0){
+                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
                     }
                 }
-                if(weekServiceWithStudent.getExercisesMessageNum()<=0){
-                    weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
-                }
-                if(weekServiceWithStudent.getExercisesMessageTimelyNum()<=0){
-                    weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
-                }
             }
         }
         studentExtracurricularExercisesSituationDao.batchUpdate(weekServiceWithStudents);

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/SellOrderMapper.xml

@@ -594,7 +594,7 @@
     <select id="getFeeByType" resultType="com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto">
         SELECT MAX(spo.expect_amount_)                                expectAmount,
                SUM(IF(g.type_ = 'INSTRUMENT', so.expect_amount_, 0))  musicalFee,
-               SUM(IF(g.type_ != 'INSTRUMENT', so.expect_amount_, 0)) teachingFee
+               SUM(IF(g.type_ != 'INSTRUMENT' || g.type_ IS NULL, so.expect_amount_, 0)) teachingFee
         FROM student_payment_order spo
                  LEFT JOIN sell_order so ON spo.id_ = so.order_id_
                  LEFT JOIN goods g ON IF(so.parent_goods_id_ IS NOT NULL,g.id_ = so.parent_goods_id_,g.id_ = so.goods_id_)