diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java index d0b67e7..352a9fb 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java @@ -206,12 +206,28 @@ public class TeacherServiceImpl implements TeacherService { teacher.setDegree(gpTeacher.getDegree() != null ? gpTeacher.getDegree() : ""); } });*/ - Map genderCount = teachersList.stream() + + List copyList = new ArrayList<>(teachersList); + // 同步保存,确保数据持久化 + asyncTeacherService.asyncSavePtTeacherInfos(Collections.unmodifiableList(copyList)); + //asyncTeacherService.syncSavePtTeacherInfos(teachersList); // 假设改为同步方法 + + // 优化查询与匹配 + /* Set teacherIds = teachersList.stream() + .map(GpTeacherVo::getId) + .collect(Collectors.toSet());*/ + + String code = String.format(PK.PTTEACHER, teacherDto.getCode()); + List ptTeacherInfos = ptTeacherRepository.findAllTeacher(teacherDto.getCode(),code); + + Map genderCount = ptTeacherInfos.stream() .filter(gpTeacher -> gpTeacher.getGender() != null) - .collect(Collectors.groupingBy(GpTeacherVo::getGender, Collectors.counting())); - Map degreeCount = teachersList.stream() - .filter(gpTeacher -> gpTeacher.getDegree() != null) - .collect(Collectors.groupingBy(GpTeacherVo::getDegree, Collectors.counting())); + .collect(Collectors.groupingBy(PtTeacherInfo::getGender, Collectors.counting())); + //移除key为U的键值对 + genderCount.remove("U"); + Map degreeCount = ptTeacherInfos.stream() + .filter(gpTeacher -> StringUtils.isNotEmpty(gpTeacher.getDegree())) + .collect(Collectors.groupingBy(PtTeacherInfo::getDegree, Collectors.counting())); //Map practiceCount = getStringIntegerMap(teacherDto, gpTeachers); /*if(!genderCount.containsKey("F")) { @@ -224,18 +240,7 @@ public class TeacherServiceImpl implements TeacherService { teachers.put("gender", genderCount); teachers.put("degree", degreeCount); - List copyList = new ArrayList<>(teachersList); - // 同步保存,确保数据持久化 - asyncTeacherService.asyncSavePtTeacherInfos(Collections.unmodifiableList(copyList)); - //asyncTeacherService.syncSavePtTeacherInfos(teachersList); // 假设改为同步方法 - // 优化查询与匹配 - /* Set teacherIds = teachersList.stream() - .map(GpTeacherVo::getId) - .collect(Collectors.toSet());*/ - - String code = String.format(PK.PTTEACHER, teacherDto.getCode()); - List ptTeacherInfos = ptTeacherRepository.findAllTeacher(teacherDto.getCode(),code); // Map idToPtTeacherInfo = ptTeacherInfos.stream() // .collect(Collectors.toMap(PtTeacherInfo::getId, Function.identity())); //