diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationStatusController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationStatusController.java index 38b887fd..f9cedac4 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationStatusController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationStatusController.java @@ -1,5 +1,6 @@ package com.xhpc.evcs.api; +import com.xhpc.common.api.dto.ChargingStationDto; import com.xhpc.evcs.dto.*; import com.xhpc.evcs.utils.JSONUtil; import org.springframework.web.bind.annotation.PostMapping; @@ -40,27 +41,31 @@ public class QueryStationStatusController extends CoreDispatcher { statusMap.put(keys[i], values[i]); } for (String stationID : stationIDs) { - boolean existsGun = false; - List connectorStatusInfos = new ArrayList<>(); - for (String value : gunsIds) { - if (stationID.equals(value.substring(0, 12))) { - existsGun = true; - ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo(); - Object status = REDIS.getCacheMapValue("gun:" + value, "status"); - if (isInteger(status.toString())) { - connectorStatusInfo.setStatus(3); - } else { - connectorStatusInfo.setStatus(statusMap.get(status)); + ChargingStationDto chargingStationDto = REDIS.getCacheObject("station:" + stationID); + Set pileIds = chargingStationDto.getPiles(); + for (String pileId : pileIds) { + boolean existsGun = false; + List connectorStatusInfos = new ArrayList<>(); + for (String value : gunsIds) { + if (pileId.equals(value.substring(0, 14))) { + existsGun = true; + ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo(); + Object status = REDIS.getCacheMapValue("gun:" + value, "status"); + if (isInteger(status.toString())) { + connectorStatusInfo.setStatus(3); + } else { + connectorStatusInfo.setStatus(statusMap.get(status)); + } + connectorStatusInfo.setConnectorID(value); + connectorStatusInfos.add(connectorStatusInfo); } - connectorStatusInfo.setConnectorID(value); - connectorStatusInfos.add(connectorStatusInfo); } - } - if (existsGun) { - StationStatusInfo stationStatusInfo = new StationStatusInfo(); - stationStatusInfo.setStationID(stationID); - stationStatusInfo.setConnectorStatusInfos(connectorStatusInfos); - stationStatusInfos.add(stationStatusInfo); + if (existsGun) { + StationStatusInfo stationStatusInfo = new StationStatusInfo(); + stationStatusInfo.setStationID(stationID); + stationStatusInfo.setConnectorStatusInfos(connectorStatusInfos); + stationStatusInfos.add(stationStatusInfo); + } } }