diff --git a/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java b/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java index 1f91771..ad9b6c8 100644 --- a/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java +++ b/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java @@ -66,10 +66,17 @@ /** * 大读写器和小读写器识别结合的结果TID列表 - * */ @GetMapping("/tIdAndMini/readList") public ReturnDTO> allTidReadList() throws ExecutionException, InterruptedException { return readWriterService.tIdAndMiniReadList(); } + + /** + * 大读写器和小读写器和有线扫码枪(二维码)识别结合的结果TID列表 + */ + @GetMapping("/tIdAndMiniAndGun/readList") + public ReturnDTO> tIdAndMiniAndGun() throws ExecutionException, InterruptedException { + return readWriterService.tIdAndMiniAndGunReadList(); + } } diff --git a/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java b/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java index 1f91771..ad9b6c8 100644 --- a/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java +++ b/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java @@ -66,10 +66,17 @@ /** * 大读写器和小读写器识别结合的结果TID列表 - * */ @GetMapping("/tIdAndMini/readList") public ReturnDTO> allTidReadList() throws ExecutionException, InterruptedException { return readWriterService.tIdAndMiniReadList(); } + + /** + * 大读写器和小读写器和有线扫码枪(二维码)识别结合的结果TID列表 + */ + @GetMapping("/tIdAndMiniAndGun/readList") + public ReturnDTO> tIdAndMiniAndGun() throws ExecutionException, InterruptedException { + return readWriterService.tIdAndMiniAndGunReadList(); + } } diff --git a/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java b/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java index 745a727..4a5efd2 100644 --- a/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java +++ b/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java @@ -20,4 +20,6 @@ ReturnDTO> gunAndTIdNewReadList() throws ExecutionException, InterruptedException; ReturnDTO> tIdAndMiniReadList() throws ExecutionException, InterruptedException; + + ReturnDTO> tIdAndMiniAndGunReadList() throws ExecutionException, InterruptedException; } diff --git a/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java b/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java index 1f91771..ad9b6c8 100644 --- a/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java +++ b/src/main/java/com/casic/missiles/cotroller/BusinessReadWriterController.java @@ -66,10 +66,17 @@ /** * 大读写器和小读写器识别结合的结果TID列表 - * */ @GetMapping("/tIdAndMini/readList") public ReturnDTO> allTidReadList() throws ExecutionException, InterruptedException { return readWriterService.tIdAndMiniReadList(); } + + /** + * 大读写器和小读写器和有线扫码枪(二维码)识别结合的结果TID列表 + */ + @GetMapping("/tIdAndMiniAndGun/readList") + public ReturnDTO> tIdAndMiniAndGun() throws ExecutionException, InterruptedException { + return readWriterService.tIdAndMiniAndGunReadList(); + } } diff --git a/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java b/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java index 745a727..4a5efd2 100644 --- a/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java +++ b/src/main/java/com/casic/missiles/service/IBusinessReadWriterService.java @@ -20,4 +20,6 @@ ReturnDTO> gunAndTIdNewReadList() throws ExecutionException, InterruptedException; ReturnDTO> tIdAndMiniReadList() throws ExecutionException, InterruptedException; + + ReturnDTO> tIdAndMiniAndGunReadList() throws ExecutionException, InterruptedException; } diff --git a/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java b/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java index 82a3110..c63c48d 100644 --- a/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java +++ b/src/main/java/com/casic/missiles/service/impl/BusinessReadWriterServiceImpl.java @@ -185,6 +185,37 @@ return ReturnUtil.success(resultSet); } + @Override + public ReturnDTO> tIdAndMiniAndGunReadList() throws ExecutionException, InterruptedException { + //异步请求大读写器 + ForkJoinTask>> taskResponse = forkJoinPool.submit(new RecursiveTask>>() { + @SneakyThrows + @Override + protected ReturnDTO> compute() { + return tIdNewReadList(); + } + }); + //异步请求小读写器 + ForkJoinTask>> miniTaskResponse = forkJoinPool.submit(new RecursiveTask>>() { + @SneakyThrows + @Override + protected ReturnDTO> compute() { + return tIdMiniReadList(); + } + }); + //有线扫码枪(二维码)识别设备id列表 + Set gunSet = queryGunReturnDTO(codeGunReadList()); + //大读写器识别tId列表 + Set tIdsSet = queryGunReturnDTO(taskResponse.get()); + //小读写器识别tId列表 + Set minTIdsSet = queryGunReturnDTO(miniTaskResponse.get()); + Set resultSet = new HashSet<>(); + resultSet.addAll(gunSet); + resultSet.addAll(tIdsSet); + resultSet.addAll(minTIdsSet); + return ReturnUtil.success(resultSet); + } + private Set receiveNewTIds(CommonReader reader) throws InterruptedException { Set tIds = new HashSet<>(); // boolean a = reader.BuzzerControl(true, false);//蜂鸣器协议