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 b90077d..5683e97 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 @@ -1541,25 +1541,22 @@ public class TeacherServiceImpl implements TeacherService { //从userData中获取手机号 key 为 mail 赋值给 gpTeachers 中每个对象中email,如果为空则赋值,不为空则跳过 for (GpTeacherVo gpTeacher : gpTeachers) { - if (StringUtils.isBlank(gpTeacher.getEmail())) { - gpTeacher.setEmail(userData.stream() - .filter(user -> user.get("mobile").equals(gpTeacher.getPhone())) - .map(user -> (String) user.get("mail")) - .findFirst() - .orElse(null)); - } - } - //同理操作name属性 - for (GpTeacherVo gpTeacher : gpTeachers) { - if (StringUtils.isBlank(gpTeacher.getName())) { - gpTeacher.setName(userData.stream() - .filter(user -> user.get("mobile").equals(gpTeacher.getPhone())) - .map(user -> (String) user.get("name")) - .findFirst() - .orElse(null)); - } + final String phone = gpTeacher.getPhone(); + + userData.stream() + .filter(user -> phone.equals(user.get("mobile"))) + .findFirst() + .ifPresent(user -> { + if (StringUtils.isBlank(gpTeacher.getEmail())) { + gpTeacher.setEmail((String) user.get("mail")); + } + if (StringUtils.isBlank(gpTeacher.getName())) { + gpTeacher.setName((String) user.get("name")); + } + }); } + List> idCodePairs = gpTeachers.stream() .filter(t -> t.getId() != null) .map(t -> Pair.of(t.getId(), "PtTeacher-" + schoolCode)) @@ -1585,19 +1582,15 @@ public class TeacherServiceImpl implements TeacherService { if (ptTeacherInfo != null) { // 更新现有记录:保留ID,更新其他字段 ptTeacherInfo.setName(teacher.getName()); - ptTeacherInfo.setPhone(teacher.getPhone()); - ptTeacherInfo.setEmail(teacher.getEmail()); ptTeacherInfo.setPicture(teacher.getPicture()); - ptTeacherInfo.setJob(teacher.getJob()); ptTeacherInfo.setSubjectIds(teacher.getSubjectIds()); - ptTeacherInfo.setRoles(teacher.getRoles()); + ptTeacherInfo.setSubjectNames(teacher.getSubjectNames()); ptTeacherInfo.setDegree(teacher.getDegree()); ptTeacherInfo.setGender(teacher.getGender()); ptTeacherInfo.setGrade(teacher.getGrade()); ptTeacherInfo.setPeriodId(teacher.getPeriodId()); ptTeacherInfo.setAge(teacher.getAge()); ptTeacherInfo.setTeachingAge(teacher.getTeachingAge()); - ptTeacherInfo.setStatus(teacher.getStatus()); ptTeacherInfo.setJoinTime(teacher.getJoinTime()); ptTeacherInfo.setSchool(schoolCode); ptTeacherInfo.setVersion(ptTeacherInfo.getVersion() + 1); // 版本号递增 @@ -1692,8 +1685,12 @@ public class TeacherServiceImpl implements TeacherService { if (ptTeacherInfo != null) { if (gpTeachers.getOpt().equalsIgnoreCase("save")) { - missingTeachers.add(ptTeacherInfo); - continue; + if (ptTeacherInfo.getState() == 2) { + ptTeacherInfo.setState(1); + }else { + missingTeachers.add(ptTeacherInfo); + continue; + } } // 更新现有记录:保留ID,更新其他字段 ptTeacherInfo.setName(teacher.getName());