diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java index b4d4364..f393f7a 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/teacher/SchTeacherInfoService.java @@ -93,12 +93,12 @@ public class SchTeacherInfoService { dto.setCreateUserId(userId); SchTeacher teacher = new SchTeacher(); BeanUtils.copyProperties(dto, teacher); - savedTeacher = schTeacherRepository.save(teacher); - BoaUser syncTeacher= syncUserBaseService.addTeacher(teacher,dto.getPwd(),dto.getGroupId()); - Integer generatedId = syncTeacher.getId(); - savedTeacher.setTeaId(generatedId); - savedTeacher = schTeacherRepository.save(savedTeacher); + // 先推送基础平台,拿到 teaId 后一次性落库,避免重复 save 产生两条教师记录; + // 同时推送失败也不会留下 teaId 为空的脏数据。 + BoaUser syncTeacher = syncUserBaseService.addTeacher(teacher, dto.getPwd(), dto.getGroupId()); + teacher.setTeaId(syncTeacher.getId()); + savedTeacher = schTeacherRepository.save(teacher); // 插入组关联 SchTeacherGroup newRelation = new SchTeacherGroup();