mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-08 20:10:16 +08:00
优化批量获取桩状态
This commit is contained in:
@@ -104,7 +104,7 @@ import java.text.SimpleDateFormat;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ActiveProfiles("dev")
|
@ActiveProfiles("pre")
|
||||||
@SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
public class SpringBootTestController {
|
public class SpringBootTestController {
|
||||||
@@ -270,19 +270,23 @@ public class SpringBootTestController {
|
|||||||
@Test
|
@Test
|
||||||
public void selectPileConnectorInfoListByPileSnListTest() {
|
public void selectPileConnectorInfoListByPileSnListTest() {
|
||||||
List<String> pileSnList = Lists.newArrayList();
|
List<String> pileSnList = Lists.newArrayList();
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000000249");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000000573");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000000735");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001122");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001124");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001125");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001126");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001127");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001128");
|
||||||
pileSnList.add("");
|
pileSnList.add("88230000001129");
|
||||||
// pileConnectorInfoService.getPileStatus(pileSnList);
|
pileSnList.add("88230000001130");
|
||||||
|
pileSnList.add("88230000001131");
|
||||||
|
|
||||||
pileConnectorInfoService.getPileStatusV2(pileSnList);
|
// pileConnectorInfoService.selectPileConnectorInfoList("88000000000028");
|
||||||
|
// Map<String, String> pileStatus = pileConnectorInfoService.getPileStatus(pileSnList);
|
||||||
|
|
||||||
|
Map<String, String> pileStatusV2 = pileConnectorInfoService.getPileStatusV2(pileSnList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@@ -158,12 +160,29 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService {
|
|||||||
List<String> redisKeys = pileSnList.stream()
|
List<String> redisKeys = pileSnList.stream()
|
||||||
.map(pileSn -> CacheConstants.SELECT_PILE_CONNECTOR_INFO_LIST + pileSn)
|
.map(pileSn -> CacheConstants.SELECT_PILE_CONNECTOR_INFO_LIST + pileSn)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
List<PileConnectorInfo> redisResult = redisCache.multiGet(redisKeys);
|
List<Object> redisResult = redisCache.multiGet(redisKeys);
|
||||||
|
List<PileConnectorInfo> 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<String, List<PileConnectorInfo>> collect = redisResult.stream()
|
Map<String, List<PileConnectorInfo>> collect = connectorInfoList.stream()
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.collect(Collectors.groupingBy(PileConnectorInfo::getPileSn));
|
.collect(Collectors.groupingBy(PileConnectorInfo::getPileSn));
|
||||||
return null;
|
resultMap.putAll(collect);
|
||||||
|
|
||||||
|
// 筛选出未从缓存中获取到的pileSn
|
||||||
|
List<String> noCachePileSnList = pileSnList.stream()
|
||||||
|
.filter(pileSn -> !collect.containsKey(pileSn))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -726,7 +745,6 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService {
|
|||||||
@Override
|
@Override
|
||||||
public Map<String, String> getPileStatusV2(List<String> pileSnList) {
|
public Map<String, String> getPileStatusV2(List<String> pileSnList) {
|
||||||
Map<String, String> resultMap = Maps.newHashMap();
|
Map<String, String> resultMap = Maps.newHashMap();
|
||||||
|
|
||||||
Map<String, List<PileConnectorInfo>> pileConnectorMap = selectPileConnectorInfoListByPileSnList(pileSnList);
|
Map<String, List<PileConnectorInfo>> pileConnectorMap = selectPileConnectorInfoListByPileSnList(pileSnList);
|
||||||
for (String pileSn : pileSnList) {
|
for (String pileSn : pileSnList) {
|
||||||
String pileStatus = "";
|
String pileStatus = "";
|
||||||
|
|||||||
@@ -24,7 +24,19 @@
|
|||||||
|
|
||||||
<select id="selectPileConnectorInfoList" parameterType="com.jsowell.pile.domain.PileConnectorInfo"
|
<select id="selectPileConnectorInfoList" parameterType="com.jsowell.pile.domain.PileConnectorInfo"
|
||||||
resultMap="PileConnectorInfoResult">
|
resultMap="PileConnectorInfoResult">
|
||||||
<include refid="selectPileConnectorInfoVo"/>
|
select
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
pile_connector_code,
|
||||||
|
status,
|
||||||
|
park_no,
|
||||||
|
pile_sn,
|
||||||
|
create_by,
|
||||||
|
create_time,
|
||||||
|
update_by,
|
||||||
|
update_time,
|
||||||
|
del_flag
|
||||||
|
from pile_connector_info
|
||||||
where
|
where
|
||||||
del_flag = '0'
|
del_flag = '0'
|
||||||
<if test="name != null and name != ''">
|
<if test="name != null and name != ''">
|
||||||
|
|||||||
Reference in New Issue
Block a user