diff --git a/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/device/DeviceService.java b/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/device/DeviceService.java index 4436596..bf69386 100644 --- a/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/device/DeviceService.java +++ b/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/device/DeviceService.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Optional; import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; +import static org.mybatis.dynamic.sql.SqlBuilder.isTrue; @Slf4j @RequiredArgsConstructor @@ -135,6 +136,11 @@ public class DeviceService { return deviceMapper.select(u -> u.orderBy(MockingDeviceDynamicSqlSupport.id.descending())); } + public List getAllEnabledDevice(){ + return deviceMapper.select(u -> u.where(MockingDeviceDynamicSqlSupport.enable,isTrue()) + .orderBy(MockingDeviceDynamicSqlSupport.id.descending())); + } + /** * 分页查询设备 * @param page 页数 diff --git a/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/gb28181/register/RegisterService.java b/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/gb28181/register/RegisterService.java index a8d0f24..0308391 100644 --- a/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/gb28181/register/RegisterService.java +++ b/gb28181-mocking-service/src/main/java/cn/skcks/docking/gb28181/mocking/service/gb28181/register/RegisterService.java @@ -52,20 +52,19 @@ public class RegisterService { List allDevice = deviceService.getAllDevice(); - - List>[]> completableFutures = ListUtil.split(allDevice, 10).stream().map(items -> { - CompletableFuture>[] array = allDevice.stream().map(this::register).toArray(CompletableFuture[]::new); + List>[]> completableFutures = ListUtil.split(allDevice, 10).stream().map(items -> { + CompletableFuture>[] array = allDevice.stream().map(this::register).toArray(CompletableFuture[]::new); CompletableFuture.allOf(array); return array; }).toList(); - List>> reduce = completableFutures.stream().map(item -> Arrays.stream(item).toList()) + List>> reduce = completableFutures.stream().map(item -> Arrays.stream(item).toList()) .reduce(new ArrayList<>(), (prev, cur) -> { prev.addAll(cur); return prev; }); - Optional> first = reduce.stream().map(item -> { + Optional> first = reduce.stream().map(item -> { try { return item.get(); } catch (InterruptedException | ExecutionException e) { @@ -80,10 +79,12 @@ public class RegisterService { } @SneakyThrows - public CompletableFuture> register(MockingDevice device) { + public CompletableFuture> register(MockingDevice device) { keepaliveService.unKeepalive(device); - CompletableFuture> result = new CompletableFuture<>(); + if(!device.getEnable()){ + result.complete(JsonResponse.success(null)); + } sender.sendRequest((provider, ip, port) -> { CallIdHeader callIdHeader = provider.getNewCallId(); String callId = callIdHeader.getCallId();