| | |
| | | |
| | | public void putCatalogSubscribe(String platformId, SubscribeInfo subscribeInfo) { |
| | | catalogMap.put(platformId, subscribeInfo); |
| | | // 添加订阅到期 |
| | | String taskOverdueKey = taskOverduePrefix + "catalog_" + platformId; |
| | | // 添加任务处理订阅过期 |
| | | dynamicTask.startDelay(taskOverdueKey, () -> removeCatalogSubscribe(subscribeInfo.getId()), |
| | | subscribeInfo.getExpires() * 1000); |
| | | if (subscribeInfo.getExpires() > 0) { |
| | | // 添加订阅到期 |
| | | String taskOverdueKey = taskOverduePrefix + "catalog_" + platformId; |
| | | // 添加任务处理订阅过期 |
| | | dynamicTask.startDelay(taskOverdueKey, () -> removeCatalogSubscribe(subscribeInfo.getId()), |
| | | subscribeInfo.getExpires() * 1000); |
| | | } |
| | | } |
| | | |
| | | public SubscribeInfo getCatalogSubscribe(String platformId) { |
| | |
| | | Runnable runnable = dynamicTask.get(taskOverdueKey); |
| | | if (runnable instanceof ISubscribeTask) { |
| | | ISubscribeTask subscribeTask = (ISubscribeTask) runnable; |
| | | subscribeTask.stop(); |
| | | subscribeTask.stop(null); |
| | | } |
| | | // 添加任务处理订阅过期 |
| | | dynamicTask.stop(taskOverdueKey); |
| | |
| | | dynamicTask.startCron(key, new MobilePositionSubscribeHandlerTask(platformId), |
| | | subscribeInfo.getGpsInterval() * 1000); |
| | | String taskOverdueKey = taskOverduePrefix + "MobilePosition_" + platformId; |
| | | // 添加任务处理订阅过期 |
| | | dynamicTask.startDelay(taskOverdueKey, () -> { |
| | | removeMobilePositionSubscribe(subscribeInfo.getId()); |
| | | }, |
| | | subscribeInfo.getExpires() * 1000); |
| | | if (subscribeInfo.getExpires() > 0) { |
| | | // 添加任务处理订阅过期 |
| | | dynamicTask.startDelay(taskOverdueKey, () -> { |
| | | removeMobilePositionSubscribe(subscribeInfo.getId()); |
| | | }, |
| | | subscribeInfo.getExpires() * 1000); |
| | | } |
| | | } |
| | | |
| | | public SubscribeInfo getMobilePositionSubscribe(String platformId) { |
| | |
| | | Runnable runnable = dynamicTask.get(taskOverdueKey); |
| | | if (runnable instanceof ISubscribeTask) { |
| | | ISubscribeTask subscribeTask = (ISubscribeTask) runnable; |
| | | subscribeTask.stop(); |
| | | subscribeTask.stop(null); |
| | | } |
| | | // 添加任务处理订阅过期 |
| | | dynamicTask.stop(taskOverdueKey); |
| | |
| | | return platforms; |
| | | } |
| | | |
| | | public List<String> getAllMobilePositionSubscribePlatform() { |
| | | List<String> platforms = new ArrayList<>(); |
| | | if(!mobilePositionMap.isEmpty()) { |
| | | for (String key : mobilePositionMap.keySet()) { |
| | | platforms.add(mobilePositionMap.get(key).getId()); |
| | | } |
| | | } |
| | | return platforms; |
| | | } |
| | | |
| | | public void removeAllSubscribe(String platformId) { |
| | | removeMobilePositionSubscribe(platformId); |
| | | removeCatalogSubscribe(platformId); |