From 24957fc00cb3c1e206bdcdbf1d5ba7a4d8da4cf9 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 5 Nov 2024 09:01:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=B9=E9=87=8F=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=A1=A9=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/SpringBootTestController.java | 30 +++++++++++-------- .../impl/PileConnectorInfoServiceImpl.java | 28 +++++++++++++---- .../mapper/pile/PileConnectorInfoMapper.xml | 14 ++++++++- 3 files changed, 53 insertions(+), 19 deletions(-) diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 5c787bd15..09b7f02a7 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -104,7 +104,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; -@ActiveProfiles("dev") +@ActiveProfiles("pre") @SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @RunWith(SpringRunner.class) public class SpringBootTestController { @@ -270,19 +270,23 @@ public class SpringBootTestController { @Test public void selectPileConnectorInfoListByPileSnListTest() { List pileSnList = Lists.newArrayList(); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - pileSnList.add(""); - // pileConnectorInfoService.getPileStatus(pileSnList); + pileSnList.add("88230000000249"); + pileSnList.add("88230000000573"); + pileSnList.add("88230000000735"); + pileSnList.add("88230000001122"); + pileSnList.add("88230000001124"); + pileSnList.add("88230000001125"); + pileSnList.add("88230000001126"); + pileSnList.add("88230000001127"); + pileSnList.add("88230000001128"); + pileSnList.add("88230000001129"); + pileSnList.add("88230000001130"); + pileSnList.add("88230000001131"); - pileConnectorInfoService.getPileStatusV2(pileSnList); + // pileConnectorInfoService.selectPileConnectorInfoList("88000000000028"); + // Map pileStatus = pileConnectorInfoService.getPileStatus(pileSnList); + + Map pileStatusV2 = pileConnectorInfoService.getPileStatusV2(pileSnList); } @Test diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index 93f56ba14..0ffbbf90f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -1,6 +1,8 @@ package com.jsowell.pile.service.impl; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; @@ -158,12 +160,29 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService { List redisKeys = pileSnList.stream() .map(pileSn -> CacheConstants.SELECT_PILE_CONNECTOR_INFO_LIST + pileSn) .collect(Collectors.toList()); - List redisResult = redisCache.multiGet(redisKeys); + List redisResult = redisCache.multiGet(redisKeys); + List connectorInfoList = Lists.newArrayList(); + for (Object o : redisResult) { + if (Objects.isNull(o)) { + continue; + } + JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o)); + for (Object o1 : jsonArray) { + PileConnectorInfo pileConnectorInfo = JSONObject.parseObject(JSON.toJSONString(o1), PileConnectorInfo.class); + connectorInfoList.add(pileConnectorInfo); + } + } // 分组 - Map> collect = redisResult.stream() - .filter(Objects::nonNull) + Map> collect = connectorInfoList.stream() .collect(Collectors.groupingBy(PileConnectorInfo::getPileSn)); - return null; + resultMap.putAll(collect); + + // 筛选出未从缓存中获取到的pileSn + List noCachePileSnList = pileSnList.stream() + .filter(pileSn -> !collect.containsKey(pileSn)) + .collect(Collectors.toList()); + + return resultMap; } /** @@ -726,7 +745,6 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService { @Override public Map getPileStatusV2(List pileSnList) { Map resultMap = Maps.newHashMap(); - Map> pileConnectorMap = selectPileConnectorInfoListByPileSnList(pileSnList); for (String pileSn : pileSnList) { String pileStatus = ""; diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileConnectorInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileConnectorInfoMapper.xml index 7da0544b0..c241a0771 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileConnectorInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileConnectorInfoMapper.xml @@ -24,7 +24,19 @@