瀏覽代碼

feat:1、服务指标

Joburgess 4 年之前
父節點
當前提交
3764b1ea86
共有 1 個文件被更改,包括 48 次插入47 次删除
  1. 48 47
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

+ 48 - 47
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -302,10 +302,10 @@ public class StudentServeServiceImpl implements StudentServeService {
         LocalDate sunDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.SUNDAY.getValue());
         Date nextMonday = Date.from(sunDayDate.plusDays(1).atStartOfDay(DateUtil.zoneId).toInstant());
 
-        int weekServiceNum = studentExtracurricularExercisesSituationDao.countWeekServiceNum(monDayDate.toString());
-        if(weekServiceNum>0&&CollectionUtils.isEmpty(studentIds)){
-            return;
-        }
+//        int weekServiceNum = studentExtracurricularExercisesSituationDao.countWeekServiceNum(monDayDate.toString());
+//        if(weekServiceNum>0&&CollectionUtils.isEmpty(studentIds)){
+//            return;
+//        }
 
         List<StudentServeCourseDto> studentFutureCourseInfo = studentDao.getStudentFutureCourseInfo(monDayDate.toString(), studentIds);
         Map<Integer, List<StudentServeCourseDto>> studentCourseMap = studentFutureCourseInfo.stream().collect(Collectors.groupingBy(StudentServeCourseDto::getStudentId));
@@ -422,55 +422,56 @@ public class StudentServeServiceImpl implements StudentServeService {
 
             while (currentPage1.compareTo(totalPage1)<=0){
                 List<StudentExtracurricularExercisesSituation> rows=results.stream().skip(pageSize1.multiply(currentPage1.subtract(BigDecimal.ONE)).longValue()).limit(pageSize1.longValue()).collect(Collectors.toList());
-                studentExtracurricularExercisesSituationDao.batchInsert(rows);
-                currentPage1=currentPage1.add(BigDecimal.ONE);
-            }
-            return;
-        }
+                List<Integer> updateStudentIds = rows.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
 
-        List<StudentExtracurricularExercisesSituation> weekServiceWithStudents = studentExtracurricularExercisesSituationDao.findWeekServiceWithStudents(monDayDate.toString(), null, studentIds);
-        Map<String, StudentExtracurricularExercisesSituation> codeServeMap = weekServiceWithStudents.stream().collect(Collectors.toMap(StudentExtracurricularExercisesSituation::getStuAndTeaCode, s -> s, (s1, s2) -> s1));
+                List<StudentExtracurricularExercisesSituation> weekServiceWithStudents = studentExtracurricularExercisesSituationDao.findWeekServiceWithStudents(monDayDate.toString(), null, updateStudentIds);
+                Map<String, StudentExtracurricularExercisesSituation> codeServeMap = weekServiceWithStudents.stream().collect(Collectors.toMap(StudentExtracurricularExercisesSituation::getStuAndTeaCode, s -> s, (s1, s2) -> s1));
 
-        Set<String> newCodes = results.stream().map(StudentExtracurricularExercisesSituation::getStuAndTeaCode).collect(Collectors.toSet());
-        for (StudentExtracurricularExercisesSituation weekServiceWithStudent : weekServiceWithStudents) {
-            if(weekServiceWithStudent.getActualExercisesNum()>0||newCodes.contains(weekServiceWithStudent.getStuAndTeaCode())){
-                continue;
-            }
-            studentExtracurricularExercisesSituationDao.delete(weekServiceWithStudent.getId());
-        }
-
-        List<StudentExtracurricularExercisesSituation> newService = new ArrayList<>();
-        List<StudentExtracurricularExercisesSituation> updateService = new ArrayList<>();
-        for (StudentExtracurricularExercisesSituation result : results) {
-            if(codeServeMap.containsKey(result.getStuAndTeaCode())){
-                StudentExtracurricularExercisesSituation s = codeServeMap.get(result.getStuAndTeaCode());
-                Set<Long> courseIds = new HashSet<>();
-                if(StringUtils.isNotBlank(s.getCourseIds())&&s.getActualExercisesNum()>0){
-                    courseIds = Arrays.stream(s.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet());
-                }
-                if(StringUtils.isNotBlank(result.getCourseIds())){
-                    courseIds.addAll(Arrays.stream(result.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet()));
-                }
-                s.setServeType(result.getServeType());
-                if(s.getServeType().equals("HOMEWORK")){
-                    s.setCourseIds(StringUtils.join(courseIds, ","));
-                }else{
-                    s.setCourseIds("");
+                Set<String> newCodes = rows.stream().map(StudentExtracurricularExercisesSituation::getStuAndTeaCode).collect(Collectors.toSet());
+                for (StudentExtracurricularExercisesSituation weekServiceWithStudent : weekServiceWithStudents) {
+                    if(weekServiceWithStudent.getActualExercisesNum()>0||newCodes.contains(weekServiceWithStudent.getStuAndTeaCode())){
+                        continue;
+                    }
+                    studentExtracurricularExercisesSituationDao.delete(weekServiceWithStudent.getId());
                 }
-                if(StringUtils.isBlank(s.getCourseIds())){
-                    s.setExpectExercisesNum(1);
-                }else{
-                    s.setExpectExercisesNum(courseIds.size());
+
+                List<StudentExtracurricularExercisesSituation> newService = new ArrayList<>();
+                List<StudentExtracurricularExercisesSituation> updateService = new ArrayList<>();
+                for (StudentExtracurricularExercisesSituation result : rows) {
+                    if(codeServeMap.containsKey(result.getStuAndTeaCode())){
+                        StudentExtracurricularExercisesSituation s = codeServeMap.get(result.getStuAndTeaCode());
+                        Set<Long> courseIds = new HashSet<>();
+                        if(StringUtils.isNotBlank(s.getCourseIds())&&s.getActualExercisesNum()>0){
+                            courseIds = Arrays.stream(s.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet());
+                        }
+                        if(StringUtils.isNotBlank(result.getCourseIds())){
+                            courseIds.addAll(Arrays.stream(result.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet()));
+                        }
+                        s.setServeType(result.getServeType());
+                        if(s.getServeType().equals("HOMEWORK")){
+                            s.setCourseIds(StringUtils.join(courseIds, ","));
+                        }else{
+                            s.setCourseIds("");
+                        }
+                        if(StringUtils.isBlank(s.getCourseIds())){
+                            s.setExpectExercisesNum(1);
+                        }else{
+                            s.setExpectExercisesNum(courseIds.size());
+                        }
+                        updateService.add(s);
+                    }else{
+                        newService.add(result);
+                    }
                 }
-                updateService.add(s);
-            }else{
-                newService.add(result);
+                if(!CollectionUtils.isEmpty(updateService))
+                    studentExtracurricularExercisesSituationDao.batchUpdate(updateService);
+                if(!CollectionUtils.isEmpty(newService))
+                    studentExtracurricularExercisesSituationDao.batchInsert(newService);
+
+                currentPage1=currentPage1.add(BigDecimal.ONE);
             }
+            return;
         }
-        if(!CollectionUtils.isEmpty(updateService))
-            studentExtracurricularExercisesSituationDao.batchUpdate(updateService);
-        if(!CollectionUtils.isEmpty(newService))
-            studentExtracurricularExercisesSituationDao.batchInsert(newService);
     }
 
     @Override