From fab6246b0258be17a9eebec605859015c9be83b1 Mon Sep 17 00:00:00 2001 From: ZZ Date: Mon, 25 Oct 2021 17:34:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E6=96=B9=E7=AB=99=E7=82=B9=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=9F=A5=E8=AF=A2=E9=BB=91=E5=90=8D=E5=8D=95=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xhpc/evcs/api/StationsInfoController.java | 28 ++++++++++++++----- ...hpcStationInternetBlacklistRepository.java | 4 +++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/StationsInfoController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/StationsInfoController.java index 899cb375..506730a2 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/StationsInfoController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/StationsInfoController.java @@ -3,9 +3,11 @@ package com.xhpc.evcs.api; import com.xhpc.common.api.dto.ChargingStationDto; import com.xhpc.evcs.domain.XhpcChargingPile; import com.xhpc.evcs.domain.XhpcChargingStation; +import com.xhpc.evcs.domain.XhpcStationInternetBlacklist; import com.xhpc.evcs.dto.*; import com.xhpc.evcs.jpa.XhpcChargingPileRepository; import com.xhpc.evcs.jpa.XhpcChargingStationRepository; +import com.xhpc.evcs.jpa.XhpcStationInternetBlacklistRepository; import com.xhpc.evcs.utils.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +31,8 @@ public class StationsInfoController extends CoreDispatcher { private XhpcChargingPileRepository xhpcChargingPileRepository; @Autowired private XhpcChargingStationRepository xhpcChargingStationRepository; + @Autowired + private XhpcStationInternetBlacklistRepository xhpcStationInternetBlacklistRepo; @PostMapping("/v1/query_stations_info") public CommonResponse queryStationsInfo(@RequestBody CommonRequest commonRequest) throws Exception { @@ -37,19 +41,29 @@ public class StationsInfoController extends CoreDispatcher { String operatorId = commonRequest.getOperatorId(); final PageRequest pageRequest = commonRequest.transformDataType(PageRequest.class); List stations = new ArrayList<>(); - int pageCount = 1; - if (operatorId.equals("765367656")) { - List stationKeys = new ArrayList<>(REDIS.keys("station:*")); + int pageCount = 0; + List xhpcStationInternetBlacklist = + xhpcStationInternetBlacklistRepo.findByInternetUserId(operatorId); + List stationKeys = new ArrayList<>(REDIS.keys("station:*")); + List validStationKeys = new ArrayList<>(); + for (XhpcStationInternetBlacklist xhpcStationInternetBlack : xhpcStationInternetBlacklist) { + for (String stationKey : stationKeys) { + if (!stationKey.substring(8).equals(xhpcStationInternetBlack.getChargingStationId().toString())) { + validStationKeys.add(stationKey); + } + } + } + if (validStationKeys.size() > 0) { final Integer pageSize = pageRequest.getPageSize(); - int fullpage = stationKeys.size() == 0 ? 0 : stationKeys.size() / pageSize; + int fullpage = validStationKeys.size() == 0 ? 0 : validStationKeys.size() / pageSize; final Integer pageNo = pageRequest.getPageNo(); - int plus = stationKeys.size() % pageSize; + int plus = validStationKeys.size() % pageSize; assert (pageCount >= pageNo) : "too large pageNo"; pageCount = fullpage + (plus == 0 ? 0 : 1); if (pageCount >= pageNo) { - Integer lastOne = stationKeys.size() < pageNo * pageSize ? stationKeys.size() : pageNo * pageSize; + Integer lastOne = validStationKeys.size() < pageNo * pageSize ? validStationKeys.size() : pageNo * pageSize; for (int i = ((pageNo - 1) * pageSize); i < lastOne; i++) { - final String stationKey = stationKeys.get(i); + final String stationKey = validStationKeys.get(i); ChargingStationDto chargingStationDto = REDIS.getCacheObject(stationKey); if (chargingStationDto.getPiles() != null) { StationInfo station = new StationInfo(); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/XhpcStationInternetBlacklistRepository.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/XhpcStationInternetBlacklistRepository.java index 8d33baf5..a49c7919 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/XhpcStationInternetBlacklistRepository.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/XhpcStationInternetBlacklistRepository.java @@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.repository.query.QueryByExampleExecutor; import org.springframework.stereotype.Repository; +import java.util.List; import java.util.Optional; @Repository @@ -14,4 +15,7 @@ public interface XhpcStationInternetBlacklistRepository extends JpaRepository findByChargingStationIdAndInternetUserId(Long stationId, String substring); + + List findByInternetUserId(String substring); + }