From 98a48c1a373c28d7a4d45cee32e07786f1330554 Mon Sep 17 00:00:00 2001 From: "hhb@hotmail.com" Date: Fri, 30 May 2025 15:48:35 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LaborEducationServiceImpl.java | 22 +++++++++++++++---- .../impl/MoralEducationServiceImpl.java | 22 +++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/LaborEducationServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/LaborEducationServiceImpl.java index d6a81d0..bbd7011 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/LaborEducationServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/LaborEducationServiceImpl.java @@ -960,10 +960,10 @@ public class LaborEducationServiceImpl implements LaborEducationService { } // 7. 转换 classScoreRates 和 studentScoreRates 为新的数据结构 - return getResult(className, compositeClassScoreRates, compositeStudentScores); + return getResult(className, compositeClassScoreRates, compositeStudentScores , rMembers); } - private static @NotNull Map getResult(String className, Map compositeClassScoreRates, Map> compositeStudentScores) { + private static @NotNull Map getResult(String className, Map compositeClassScoreRates, Map> compositeStudentScores,List rMembers) { List> adjustedClassScoreRates = new ArrayList<>(); Map classScore = new HashMap<>(); classScore.put("className", className); // 设置班级名称 @@ -984,11 +984,25 @@ public class LaborEducationServiceImpl implements LaborEducationService { List> adjustedStudentScoreRates = new ArrayList<>(); for (Map.Entry> entry : compositeStudentScores.entrySet()) { - String studentId = entry.getKey(); + String studentName = entry.getKey(); + Optional memberOpt = rMembers.stream() + .filter(member -> member.getName().equals(studentName)) + .findFirst(); + + String studentId; + if (memberOpt.isPresent()) { + studentId = memberOpt.get().getId(); + } else { + // 可根据业务需求记录日志或设置默认值 + studentId = "未知学生ID"; + // 或者直接 continue 跳过该学生 + // continue; + } Map scores = entry.getValue(); Map studentScore = new HashMap<>(); - studentScore.put("studentName", studentId); // 设置学生名称 + studentScore.put("studentId", studentId); + studentScore.put("studentName", studentName); // 设置学生名称 List> studentBlocks = new ArrayList<>(); for (Map.Entry scoreEntry : scores.entrySet()) { diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/MoralEducationServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/MoralEducationServiceImpl.java index 5dcc59b..7aa78b0 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/MoralEducationServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/MoralEducationServiceImpl.java @@ -960,10 +960,10 @@ public class MoralEducationServiceImpl implements MoralEducationService { } // 7. 转换 classScoreRates 和 studentScoreRates 为新的数据结构 - return getResult(className, compositeClassScoreRates, compositeStudentScores); + return getResult(className, compositeClassScoreRates, compositeStudentScores ,rMembers); } - private static @NotNull Map getResult(String className, Map compositeClassScoreRates, Map> compositeStudentScores) { + private static @NotNull Map getResult(String className, Map compositeClassScoreRates, Map> compositeStudentScores, List rMembers) { List> adjustedClassScoreRates = new ArrayList<>(); Map classScore = new HashMap<>(); classScore.put("className", className); // 设置班级名称 @@ -984,11 +984,25 @@ public class MoralEducationServiceImpl implements MoralEducationService { List> adjustedStudentScoreRates = new ArrayList<>(); for (Map.Entry> entry : compositeStudentScores.entrySet()) { - String studentId = entry.getKey(); + String studentName = entry.getKey(); + Optional memberOpt = rMembers.stream() + .filter(member -> member.getName().equals(studentName)) + .findFirst(); + + String studentId; + if (memberOpt.isPresent()) { + studentId = memberOpt.get().getId(); + } else { + // 可根据业务需求记录日志或设置默认值 + studentId = "未知学生ID"; + // 或者直接 continue 跳过该学生 + // continue; + } Map scores = entry.getValue(); Map studentScore = new HashMap<>(); - studentScore.put("studentName", studentId); // 设置学生名称 + studentScore.put("studentId", studentId); + studentScore.put("studentName", studentName); // 设置学生名称 List> studentBlocks = new ArrayList<>(); for (Map.Entry scoreEntry : scores.entrySet()) {