From f9ba7e833eb8662f2356b9e91431d31fb4f66e4a968c393b73ab249415c297a9 Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Wed, 3 Dec 2025 11:34:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E6=8E=A7=E4=B8=8A=E6=8A=A5=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=AD=98=E5=82=A8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cdzy/operations/utils/RedisUtil.java | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/ebike-operations/src/main/java/com/cdzy/operations/utils/RedisUtil.java b/ebike-operations/src/main/java/com/cdzy/operations/utils/RedisUtil.java index 78e2542..edb7f4b 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/utils/RedisUtil.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/utils/RedisUtil.java @@ -5,9 +5,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -505,4 +503,34 @@ public class RedisUtil { return getRedisTemplate(Database.DB2).opsForValue().multiGet(keys); } + + /** + * 批量获取ECU信息(基于已知的SN列表) + * + * @param ecuSnList ECU序列号列表 + * @return Map 映射关系 + */ + public Map batchGetEcuWithMap(List ecuSnList) { + if (ecuSnList == null || ecuSnList.isEmpty()) { + return Collections.emptyMap(); + } + + // 构建完整的Redis键列表 + List keys = ecuSnList.stream() + .map(sn -> BIKE_ECU_PREFIX + sn) + .collect(Collectors.toList()); + + // 批量获取值 + List values = getRedisTemplate(Database.DB2).opsForValue().multiGet(keys); + + // 构建映射关系 + Map result = new LinkedHashMap<>(); + for (int i = 0; i < ecuSnList.size(); i++) { + String sn = ecuSnList.get(i); + Object value = (values != null && i < values.size()) ? values.get(i) : null; + result.put(sn, value); + } + + return result; + } } \ No newline at end of file