diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index f7d7319f7..000ee502f 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -185,6 +185,12 @@ public class SpringBootTestController { @Autowired private IMemberBasicInfoService memberBasicInfoService; + @Test + public void testGetPileTypeNum() { + Long stationId = 1L; + pileConnectorInfoService.getPileTypeNum(stationId); + } + @Test public void testUpdateStatus() { String pileConnectorCode = "8800000000012601"; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java index 0d543681d..2f9cd7762 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileConnectorInfoService.java @@ -111,6 +111,13 @@ public interface IPileConnectorInfoService { PageResponse selectStationConnectorList(QueryConnectorListDTO dto); + /** + * 查询快、慢充设备数量 + * @param connectorList 枪口列表 + * @return + */ + Map getPileTypeNum(List connectorList); + /** * 根据站点id查询快、慢充设备数量 * @param stationId 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 002c2a6da..4a4bff08d 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 @@ -626,37 +626,56 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService { } /** - * 根据站点id查询快、慢充设备数量 - * - * @param stationId - * @return + * 查询快、慢充设备数量 + * @param connectorList 枪口列表 */ - public Map getPileTypeNum(Long stationId) { - int fastTotal = 0; - int fastFree = 0; - int slowTotal = 0; - int slowFree = 0; - List connectorList = getUniAppConnectorList(stationId); - for (ConnectorInfoVO connectorVO : connectorList) { - if (StringUtils.equals(connectorVO.getChargingType(), Constants.ONE)) { - // 快充 - fastTotal += 1; - if (StringUtils.equals(connectorVO.getConnectorStatus(), Constants.ONE)) { - fastFree += 1; + @Override + public Map getPileTypeNum(List connectorList) { + Map resultMap = new LinkedHashMap<>(); + int fastTotal = 0; // 快充总数 + int fastFree = 0; // 快充空闲数 + int slowTotal = 0; // 慢充总数 + int slowFree = 0; // 慢充空闲数 + + if (CollectionUtils.isNotEmpty(connectorList)) { + for (ConnectorInfoVO connectorVO : connectorList) { + String redisKey = CacheConstants.PILE_CONNECTOR_STATUS_KEY + connectorVO.getPileConnectorCode(); + String status = redisCache.getCacheObject(redisKey); + if (StringUtils.isBlank(status)) { + status = connectorVO.getConnectorStatus(); } - } else { - // 慢充 - slowTotal += 1; - if (StringUtils.equals(connectorVO.getConnectorStatus(), Constants.ONE)) { - slowFree += 1; + if (StringUtils.equals(connectorVO.getChargingType(), Constants.ONE)) { + // 快充 + fastTotal += 1; + if (StringUtils.equals(status, Constants.ONE)) { + fastFree += 1; + } + } else { + // 慢充 + slowTotal += 1; + if (StringUtils.equals(status, Constants.ONE)) { + slowFree += 1; + } } } } - Map map = new LinkedHashMap<>(); - map.put("fastTotal", fastTotal); - map.put("fastFree", fastFree); - map.put("slowTotal", slowTotal); - map.put("slowFree", slowFree); - return map; + + // 组装结果集 + resultMap.put("fastTotal", fastTotal); + resultMap.put("fastFree", fastFree); + resultMap.put("slowTotal", slowTotal); + resultMap.put("slowFree", slowFree); + return resultMap; + } + + /** + * 根据站点id查询快、慢充设备数量 + * @param stationId 站点id + */ + @Override + public Map getPileTypeNum(Long stationId) { + // 获取充电站枪口列表 + List connectorList = getUniAppConnectorList(stationId); + return getPileTypeNum(connectorList); } } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java index e937719dc..87f656814 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java @@ -354,9 +354,6 @@ public class AMapServiceImpl implements AMapService { */ @Override public String pushChargingDeviceDynamics(String stationId) throws Exception { - - Map pileNumMap = pileConnectorInfoService.getPileTypeNum(Long.parseLong(stationId)); - // 根据站点id查询枪口信息 List connectorStatusInfoList = Lists.newArrayList(); AMapConnectorStatusInfo info; @@ -369,6 +366,7 @@ public class AMapServiceImpl implements AMapService { connectorStatusInfoList.add(info); } + Map pileNumMap = pileConnectorInfoService.getPileTypeNum(connectorList); // 拼装业务参数 JSONObject json = new JSONObject(); json.put("stationID", stationId);