From 572cc9be965d176708a7288e140f1228f5d110ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Sat, 22 Mar 2025 20:01:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:sprayTaskSprayedList=20=E5=8F=AA=E4=BF=9D?= =?UTF-8?q?=E7=95=994=E6=AC=A1=E5=96=B7=E6=B6=82=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/qyft/ms/app/device/status/SprayTask.java | 11 ++++++++--- src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java | 2 -- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/qyft/ms/app/device/status/SprayTask.java b/src/main/java/com/qyft/ms/app/device/status/SprayTask.java index 84f8ddb..e6a0d99 100644 --- a/src/main/java/com/qyft/ms/app/device/status/SprayTask.java +++ b/src/main/java/com/qyft/ms/app/device/status/SprayTask.java @@ -5,6 +5,7 @@ import com.qyft.ms.app.model.bo.SprayTaskSprayed; import com.qyft.ms.app.model.bo.SprayTaskStep; import lombok.Data; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; @@ -111,9 +112,13 @@ public class SprayTask { } public synchronized void addSprayTaskSprayed(SprayTaskSprayed task) { - if (sprayTaskSprayedList.size() >= 200) { - // 删除最旧的元素 - sprayTaskSprayedList.remove(0); + LinkedHashSet distinctNumbers = new LinkedHashSet<>(); + for (SprayTaskSprayed item : sprayTaskSprayedList) { + distinctNumbers.add(item.getNumber()); + } + if (!distinctNumbers.contains(task.getNumber()) && distinctNumbers.size() >= 4) { + Integer oldestNumber = distinctNumbers.iterator().next(); + sprayTaskSprayedList.removeIf(item -> item.getNumber().equals(oldestNumber)); } sprayTaskSprayedList.add(task); } diff --git a/src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java b/src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java index c66728f..5668ff9 100644 --- a/src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java +++ b/src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java @@ -3,8 +3,6 @@ package com.qyft.ms.app.model.bo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import java.util.List; - @Data @Schema(description = "喷涂任务已喷涂记录") public class SprayTaskSprayed {