From 46d13294f3295ec181b6ef2d4b1c241f26566852 Mon Sep 17 00:00:00 2001 From: "hhb@hotmail.com" Date: Tue, 20 May 2025 17:18:51 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/impl/TeacherServiceImpl.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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 a695162..74a7d8a 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 @@ -173,17 +173,26 @@ public class TeacherServiceImpl implements TeacherService { if (teacherInfos != null) { //转换为GpTeacherVo对象数组 List teachersList = convertToGpTeacherVoList(teacherInfos, teacherDto.getCode()); + //过滤掉status为delete的数据 + teachersList = teachersList.stream() + .filter(t -> !t.getStatus().equals("delete")) + .collect(Collectors.toList()); String code = String.format(PK.PTTEACHER, teacherDto.getCode()); List ptTeacherInfos = ptTeacherRepository.findAllTeacher(teacherDto.getCode(),code); //根据ID筛选出teachersList中不在ptTeacherInfos中的数据 - existingTeachers = teachersList.stream() - .filter(t -> ptTeacherInfos.stream().anyMatch(pt -> pt.getId().equals(t.getId()))) + Set ptIds = ptTeacherInfos.stream() + .map(PtTeacherInfo::getId) + .collect(Collectors.toSet()); + + List result = teachersList.stream() + .filter(t -> !ptIds.contains(t.getId())) .collect(Collectors.toList()); - res.put("Add", existingTeachers); + res.put("Add", result); //根据source属性 筛选出ptTeacherInfos中source为ies 缺在teachersList没被找到的数据 + List finalTeachersList = teachersList; List toDeactivate = ptTeacherInfos.stream() .filter(pt -> pt.getSource().equals("ies")) - .filter(pt -> teachersList.stream().noneMatch(t -> t.getId().equals(pt.getId()))) + .filter(pt -> finalTeachersList.stream().noneMatch(t -> t.getId().equals(pt.getId()))) .collect(Collectors.toList()); res.put("Delete", toDeactivate);