From 3f84b63832ceb33562783f51211c677ec79bdbcb Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Thu, 19 Mar 2026 10:25:39 +0800 Subject: [PATCH] =?UTF-8?q?fix[project]:=20=E4=BB=BB=E5=8A=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E3=80=81=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/model/req/SpdmTaskListReq.java | 30 ++++++++++++++++ .../project/service/impl/TaskServiceImpl.java | 34 +++++++++++++++++-- .../resources/mapper/SimulationTaskMapper.xml | 15 ++++++++ 3 files changed, 77 insertions(+), 2 deletions(-) diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java index 69959e56..e01ae720 100644 --- a/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java +++ b/project/src/main/java/com/sdm/project/model/req/SpdmTaskListReq.java @@ -173,4 +173,34 @@ public class SpdmTaskListReq { */ private String tag10; + /** + * 利元亨定制,支持查询难度系数 + */ + private String diffcult; + + /** + * 利元亨定制,应达成进度 + */ + private String shouldProgress; + + /** + * 利元亨定制,实际达成进度 + */ + private String actualProgress; + + /** + * 利元亨定制,原因 + */ + private String reason; + + /** + * 利元亨定制,仿真准确度 + */ + private String confidence; + + /** + * 利元亨定制,风险系数 + */ + private String riskFactor; + } diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java index 19b3f324..18634027 100644 --- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java @@ -1157,6 +1157,36 @@ public class TaskServiceImpl implements ITaskService { } } + /** + * 将String列表转换为Long列表 + * @param stringList 原始字符串列表 + * @return 转换后的Long列表(自动过滤无效值,无空指针异常) + */ + public static List convertStringListToLongList(List stringList) { + // 1. 判空:避免传入null导致空指针 + if (stringList == null || stringList.isEmpty()) { + return new ArrayList<>(); + } + + // 2. 流式转换:过滤无效值 + 安全转换 + return stringList.stream() + // 过滤掉null和空字符串 + .filter(str -> str != null && !str.trim().isEmpty()) + // 尝试转换为Long,转换失败则过滤掉 + .map(str -> { + try { + return Long.valueOf(str.trim()); // trim()处理字符串前后空格 + } catch (NumberFormatException e) { + // 转换失败时返回null,后续过滤 + return null; + } + }) + // 过滤掉转换失败的null值 + .filter(num -> num != null) + // 收集为Long列表 + .collect(Collectors.toList()); + } + @Override public SdmResponse list(SpdmTaskListReq req) { @@ -1205,9 +1235,9 @@ public class TaskServiceImpl implements ITaskService { } if (StringUtils.isNotBlank(req.getSubmitterName())) { List submitterNameList = Arrays.stream(req.getSubmitterName().split(",")).toList(); - Map finalUserIdToNickNameMap = userIdToNickNameMap; + List submitterUserIdList = convertStringListToLongList(submitterNameList); allTaskList = allTaskList.stream().filter(task -> task.getCreator() != null - && submitterNameList.contains(finalUserIdToNickNameMap.get(task.getCreator()))).toList(); + && submitterUserIdList.contains(task.getCreator())).toList(); } // 3. 节点标签过滤 diff --git a/project/src/main/resources/mapper/SimulationTaskMapper.xml b/project/src/main/resources/mapper/SimulationTaskMapper.xml index 6b289674..4e92da9d 100644 --- a/project/src/main/resources/mapper/SimulationTaskMapper.xml +++ b/project/src/main/resources/mapper/SimulationTaskMapper.xml @@ -783,6 +783,12 @@ and tag10 = #{req.tag10} + + and diffcult = #{req.diffcult} + + + and confidence = #{req.confidence} + and ( @@ -906,6 +912,15 @@ and expStatus = #{req.expStatusValue} + + and tag10 = #{req.tag10} + + + and diffcult = #{req.diffcult} + + + and confidence = #{req.confidence} + and (