Explorar el Código

1、服务指标T+2逻辑调整

Joburgess hace 5 años
padre
commit
9392d17ea2

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

@@ -2095,10 +2095,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
         }
 
-        if (!CollectionUtils.isEmpty(studentList)) {
-            List<Integer> studentIds = studentList.stream().map(StudentRegistration::getUserId).collect(Collectors.toList());
-            studentDao.updateStudentServiceTag(null, studentIds, YesOrNoEnum.YES.getCode());
-        }
+//        if (!CollectionUtils.isEmpty(studentList)) {
+//            List<Integer> studentIds = studentList.stream().map(StudentRegistration::getUserId).collect(Collectors.toList());
+//            studentDao.updateStudentServiceTag(null, studentIds, YesOrNoEnum.YES.getCode());
+//        }
 
         return classGroup;
     }

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

@@ -298,8 +298,8 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             }
             courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 
-            List<Integer> studentIds = userIdStrSet.stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
-            studentDao.updateStudentServiceTag(null,studentIds, YesOrNoEnum.YES.getCode());
+//            List<Integer> studentIds = userIdStrSet.stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
+//            studentDao.updateStudentServiceTag(null,studentIds, YesOrNoEnum.YES.getCode());
         }
 
         //乐团在合奏班

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

@@ -282,7 +282,7 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
             e.printStackTrace();
         }
 
-        studentDao.updateStudentServiceTag(onlineMusicGroupCourseInfo.getStudentId(),null,YesOrNoEnum.YES.getCode());
+//        studentDao.updateStudentServiceTag(onlineMusicGroupCourseInfo.getStudentId(),null,YesOrNoEnum.YES.getCode());
 
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
         if(Objects.nonNull(musicGroup.getEducationalTeacherId())){

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

@@ -127,7 +127,30 @@ public class StudentServeServiceImpl implements StudentServeService {
 
             if (!CollectionUtils.isEmpty(allServeStudentIds)){
                 List<StudentServeCourseHomeworkDto> studentHomeworks = studentCourseHomeworkDao.findStudentHomeworkWithCourseDateRange(monDayDate.toString(), sunDayDate.toString(), new ArrayList<>(allServeStudentIds));
-                studentHomeworkMap = studentHomeworks.stream().filter(h -> DateUtil.daysBetween(h.getCourseStartTime(), h.getHomeworkCreateTime())<3).collect(Collectors.groupingBy(StudentServeCourseHomeworkDto::getUserId));
+                List<StudentServeCourseHomeworkDto> studentHomeworksTmp =new ArrayList<>();
+                for (StudentServeCourseHomeworkDto studentHomework : studentHomeworks) {
+                    LocalDate courseStartLocalDate = LocalDateTime.ofInstant(studentHomework.getCourseStartTime().toInstant(), DateUtil.zoneId).toLocalDate();
+                    switch (courseStartLocalDate.getDayOfWeek()){
+                        case SATURDAY:
+                            if(DateUtil.daysBetween(studentHomework.getCourseStartTime(), studentHomework.getHomeworkCreateTime())<4){
+                                studentHomeworksTmp.add(studentHomework);
+                            }
+                            break;
+                        case SUNDAY:
+                            if(DateUtil.daysBetween(studentHomework.getCourseStartTime(), studentHomework.getHomeworkCreateTime())<3){
+                                studentHomeworksTmp.add(studentHomework);
+                            }
+                            break;
+                        default:
+                            LocalDate homeworkCreateTime = LocalDateTime.ofInstant(studentHomework.getHomeworkCreateTime().toInstant(), DateUtil.zoneId).toLocalDate();
+                            if(courseStartLocalDate.get(DateUtil.weekFields.weekOfYear())==homeworkCreateTime.get(DateUtil.weekFields.weekOfYear())){
+                                studentHomeworksTmp.add(studentHomework);
+                            }
+                            break;
+                    }
+                }
+                studentHomeworkMap = studentHomeworksTmp.stream()
+                        .collect(Collectors.groupingBy(StudentServeCourseHomeworkDto::getUserId));
             }
 
             if(!CollectionUtils.isEmpty(allServeStudentIds)){

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

@@ -447,6 +447,9 @@
         </foreach>
     </select>
     <select id="getServeStudentIds" resultType="int">
-        SELECT user_id_ FROM student WHERE service_tag_=1
+        SELECT user_id_
+        FROM student stu
+          LEFT JOIN sys_user su ON stu.user_id_=su.id_
+        WHERE service_tag_=1 AND su.del_flag_=0
     </select>
 </mapper>