|
|
|
@ -197,10 +197,29 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
|
|
|
|
|
teachers.put("gender", genderCount);
|
|
|
|
|
teachers.put("degree", degreeCount);
|
|
|
|
|
teachers.put("info", teachersList);
|
|
|
|
|
teachers.remove("teachers");
|
|
|
|
|
List<GpTeacherVo> copyList = new ArrayList<>(teachersList);
|
|
|
|
|
// 同步保存,确保数据持久化
|
|
|
|
|
asyncTeacherService.asyncSavePtTeacherInfos(Collections.unmodifiableList(copyList));
|
|
|
|
|
//asyncTeacherService.syncSavePtTeacherInfos(teachersList); // 假设改为同步方法
|
|
|
|
|
|
|
|
|
|
// 优化查询与匹配
|
|
|
|
|
Set<String> teacherIds = teachersList.stream()
|
|
|
|
|
.map(GpTeacherVo::getId)
|
|
|
|
|
.collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
List<PtTeacherInfo> ptTeacherInfos = ptTeacherRepository.findAllTeacher(teacherIds);
|
|
|
|
|
Map<String, PtTeacherInfo> idToPtTeacherInfo = ptTeacherInfos.stream()
|
|
|
|
|
.collect(Collectors.toMap(PtTeacherInfo::getId, Function.identity()));
|
|
|
|
|
|
|
|
|
|
teachersList.forEach(teacher -> {
|
|
|
|
|
PtTeacherInfo info = idToPtTeacherInfo.get(teacher.getId());
|
|
|
|
|
if (info != null) {
|
|
|
|
|
teacher.setIdentity(info.getIdentity());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
teachers.put("info", teachersList);
|
|
|
|
|
teachers.remove("teachers");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}catch (Exception e) {
|
|
|
|
|
throw new ServiceException(ErrorCode.SYSTEM_ERROR.getCode(), "数据转换错误");
|
|
|
|
|