Browse Source

feat:1、服务指标

Joburgess 4 years ago
parent
commit
2268c46073

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -29,7 +29,8 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
      * @param monday:
      * @return int
      */
-    int deleteByMonday(@Param("monday") String monday);
+    int deleteByMonday(@Param("monday") String monday,
+                       @Param("studentIds") List<Integer> studentIds);
 
     /**
      * @describe 删除指定学员的服务指标

+ 46 - 43
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -275,7 +275,7 @@ public class StudentServeServiceImpl implements StudentServeService {
             currentPage=currentPage.add(BigDecimal.ONE);
         }
 
-        studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString());
+        studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), null);
 
         BigDecimal currentPage1=BigDecimal.ONE,
                 pageSize1=new BigDecimal(10000),
@@ -428,6 +428,7 @@ public class StudentServeServiceImpl implements StudentServeService {
 
         if(!CollectionUtils.isEmpty(results)){
 //            studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString());
+            studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), studentIds);
             BigDecimal currentPage1=BigDecimal.ONE,
                     pageSize1=new BigDecimal(10000),
                     total1=new BigDecimal(results.size()),
@@ -435,51 +436,53 @@ 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());
-                List<Integer> updateStudentIds = rows.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
-
-                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 = 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());
-                }
-
-                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<>();
+//                List<Integer> updateStudentIds = rows.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
+
+//                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 = 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());
+//                }
+
+//                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);
-                    }
-                }
-                if(!CollectionUtils.isEmpty(updateService))
-                    studentExtracurricularExercisesSituationDao.batchUpdate(updateService);
-                if(!CollectionUtils.isEmpty(newService))
-                    studentExtracurricularExercisesSituationDao.batchInsert(newService);
+//                        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);
+//                    }
+//                }
+//                if(!CollectionUtils.isEmpty(updateService))
+//                    studentExtracurricularExercisesSituationDao.batchUpdate(updateService);
+//                if(!CollectionUtils.isEmpty(newService))
+//                    studentExtracurricularExercisesSituationDao.batchInsert(newService);
+
+                studentExtracurricularExercisesSituationDao.batchInsert(rows);
 
                 currentPage1=currentPage1.add(BigDecimal.ONE);
             }

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -177,6 +177,12 @@
 	</delete>
 	<delete id="deleteByMonday">
 		DELETE FROM student_extracurricular_exercises_situation_ WHERE monday_ = #{monday}
+		<if test="studentIds!=null and studentIds.size()>0">
+			AND student_id_ IN
+			<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+				#{studentId}
+			</foreach>
+		</if>
 	</delete>
 	<delete id="deleteByStudent">
 		DELETE FROM student_extracurricular_exercises_situation_ WHERE student_id_ = #{studentId}