|
|
@@ -108,14 +108,15 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<StationVo> queryPlatformStationInfo(String platformName, int pageNum, int pageSize) {
|
|
|
+ public List<StationVo> queryPlatformStationInfo(String platformName, int pageNum, int pageSize, String... stationIds) {
|
|
|
var param = """
|
|
|
{
|
|
|
"PageNo":%d,
|
|
|
"PageSize":%d,
|
|
|
+ "StationIDs":[%s],
|
|
|
"LastQueryTime":""
|
|
|
}
|
|
|
- """.formatted(pageNum, pageSize);
|
|
|
+ """.formatted(pageNum, pageSize, Arrays.stream(stationIds).map(id -> "\"" + id + "\"").collect(Collectors.joining(",")));
|
|
|
var response = platformApiService.platformPost(platformName, PlatformApi.PLATFORM_QUERY_STATION_INFO.getApi(platformName), buildPlatformParams(platformName, param));
|
|
|
var enStations = parsePlatformResponseData(response, platformName);
|
|
|
var stationList = enStations.getJSONArray("StationInfos").toJavaList(StationVo.class);
|
|
|
@@ -430,7 +431,9 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
|
|
|
public void pullEnStationInfos(String stationId) {
|
|
|
// 指定的站点信息
|
|
|
var platformName = PlatformCache.INSTANCE.getPlatformNameByStationId(stationId);
|
|
|
- var stationVo = queryPlatformStationInfo(platformName, 1, 1000)
|
|
|
+
|
|
|
+ // 这里改成查询单个站点,避免数据量过大
|
|
|
+ var stationVo = queryPlatformStationInfo(platformName, 1, 1000, stationId)
|
|
|
.stream().filter(vo -> stationId.equals(vo.getStationId())).findFirst().orElse(null);
|
|
|
|
|
|
var station = new Station();
|