| | |
| | | System.out.println("nvInit(sdk 初始化):"); |
| | | System.out.println(instance.nvInit(rootDir, companyInfo)); |
| | | |
| | | StatusVO searchVO = new StatusVO(); |
| | | System.out.println("ViplexCore Demo nvSearchTerminalAsync(搜索) begin... "); |
| | | |
| | | CountDownLatch countDownLatch1 = new CountDownLatch(1); |
| | | instance.nvSearchTerminalAsync(new ViplexCore.CallBack() { |
| | | |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | searchVO.setStatusCode(code); |
| | | searchVO.setStatusData(data); |
| | | loginInfo = data; |
| | | System.out.println("\nViplexCore 搜索 code:" + code); |
| | | System.out.println("\nViplexCore 搜索 data:" + data); |
| | | countDownLatch1.countDown(); |
| | | } |
| | | }); |
| | | |
| | | try { |
| | | countDownLatch1.await(10000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | // login("MZVA51930N2113017308"); |
| | | } |
| | | |
| | |
| | | */ |
| | | public StatusVO login(String sn, Integer loginType) { |
| | | |
| | | StatusVO searchVO = new StatusVO(); |
| | | System.out.println("ViplexCore Demo nvSearchTerminalAsync(搜索) begin... "); |
| | | |
| | | CountDownLatch countDownLatch1 = new CountDownLatch(1); |
| | | instance.nvSearchTerminalAsync(new ViplexCore.CallBack() { |
| | | |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | searchVO.setStatusCode(code); |
| | | searchVO.setStatusData(data); |
| | | loginInfo = data; |
| | | System.out.println("\nViplexCore 搜索 code:" + code); |
| | | System.out.println("\nViplexCore 搜索 data:" + data); |
| | | countDownLatch1.countDown(); |
| | | } |
| | | }); |
| | | try { |
| | | countDownLatch1.await(10000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | if (loginSn.get(sn) != null && loginSn.get(sn)) { |
| | | if (loginSn.get(sn) != null && loginSn.get(sn) && loginType == 0) { |
| | | return new StatusVO(0); |
| | | } |
| | | if (loginInfo == null) { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 生成节目 |
| | | * |
| | |
| | | //节目 |
| | | sendProgramFilePaths.setProgramPath(filePathConfig.getOutPutPath() + "/program" + pageInfo.getProgramID()); |
| | | //文件 |
| | | // Map<String, String> mediasPath = new HashMap(); |
| | | // mediasPath.put("C:/Users/Administrator/Desktop/novaWin/demo/java/test.png", "test.png"); |
| | | // sendProgramFilePaths.setMediasPath(mediasPath); |
| | | sendProgramFilePaths.setMediasPath(pageInfo.getFileMap()); |
| | | |
| | | transfromProgramVO.setSendProgramFilePaths(sendProgramFilePaths); |
| | |
| | | List<TrasfromStatusVO> svoList = new ArrayList<>(); |
| | | System.out.println("ViplexCore Demo nvStartTransferProgramAsync(发送节目) begin... "); |
| | | // System.out.println(trasfromProgram); |
| | | // instance.nvStartTransferProgramAsync(trasfromProgram, callBack); |
| | | // String trasfromProgram = String.format( |
| | | // "{\"sn\": \"%s\",\"iconPath\": \"\",\"iconName\": \"\",\"sendProgramFilePaths\": {\"programPath\": \"%s/program13\",\"mediasPath\": {\"C:/Users/Administrator/Desktop/novaWin/demo/java/test.png\": \"test.png\"}},\"programName\": \"jiemu1\",\"deviceIdentifier\": \"Demo\",\"startPlayAfterTransferred\": true,\"insertPlay\": true}", |
| | | // g_sn, |
| | | // rootDir); |
| | | CountDownLatch countDownLatch = new CountDownLatch(pageInfo.getSnList().size()); |
| | | pageInfo.getSnList().forEach(sn -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if (transfromProgramVO == null) { |
| | | return; |
| | | } |
| | | transfromProgramVO.setSn(sn); |
| | | System.out.println(transfromProgramVO); |
| | | StatusVO login = login(sn, 0); |
| | | //推送结果 |
| | | TrasfromStatusVO trasfromStatusVO = new TrasfromStatusVO(); |
| | | trasfromStatusVO.setSn(sn); |
| | | if (login.getStatusCode() != 0) { |
| | | trasfromStatusVO.setStatusCode(login.getStatusCode()); |
| | | trasfromStatusVO.setStatusData(login.getStatusData()); |
| | | return; |
| | | } |
| | | System.out.println("program: " + JSON.toJSONString(transfromProgramVO)); |
| | | instance.nvStartTransferProgramAsync(JSON.toJSONString(transfromProgramVO), new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | trasfromStatusVO.setStatusCode(code); |
| | | trasfromStatusVO.setStatusData(data); |
| | | System.out.println("\nViplexCore 发送节目 code:" + code); |
| | | System.out.println("\nViplexCore 发送节目 data:" + data); |
| | | //节目发布成功 |
| | | if (trasfromStatusVO.getStatusCode() == 0) { |
| | | countDownLatch.countDown(); |
| | | svoList.add(trasfromStatusVO); |
| | | } else if (trasfromStatusVO.getStatusCode() != 65362) { |
| | | //上传失败 |
| | | System.out.println("上传失败"); |
| | | svoList.add(trasfromStatusVO); |
| | | countDownLatch.countDown(); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | if (transfromProgramVO == null) { |
| | | return; |
| | | } |
| | | transfromProgramVO.setSn(sn); |
| | | System.out.println(transfromProgramVO); |
| | | StatusVO login = login(sn, 0); |
| | | //推送结果 |
| | | TrasfromStatusVO trasfromStatusVO = new TrasfromStatusVO(); |
| | | trasfromStatusVO.setSn(sn); |
| | | if (login.getStatusCode() != 0) { |
| | | trasfromStatusVO.setStatusCode(login.getStatusCode()); |
| | | trasfromStatusVO.setStatusData(login.getStatusData()); |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | System.out.println("program: " + JSON.toJSONString(transfromProgramVO)); |
| | | instance.nvStartTransferProgramAsync(JSON.toJSONString(transfromProgramVO), new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | trasfromStatusVO.setStatusCode(code); |
| | | trasfromStatusVO.setStatusData(data); |
| | | System.out.println("\nViplexCore 发送节目 code:" + code); |
| | | System.out.println("\nViplexCore 发送节目 data:" + data); |
| | | //节目发布成功 |
| | | if (trasfromStatusVO.getStatusCode() == 0) { |
| | | countDownLatch.countDown(); |
| | | svoList.add(trasfromStatusVO); |
| | | } else if (trasfromStatusVO.getStatusCode() != 65362) { |
| | | //上传失败 |
| | | System.out.println("上传失败"); |
| | | svoList.add(trasfromStatusVO); |
| | | countDownLatch.countDown(); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return svoList; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | public List<NewNovaLed> getOnlineStatus(List<NewNovaLed> newNovaListBos, boolean onlineStatus) { |
| | | List<NewNovaLed> online = new ArrayList<>(); |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaListBos.size()); |
| | | //设置开关屏状态 |
| | | newNovaListBos.forEach(led -> { |
| | | //获取信息之前先登录 |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | StatusVO login = login(led.getSn(), 0); |
| | | if (login.getStatusCode() == 0) { |
| | | //登陆成功 设置为在线 |
| | | led.setIsOnline(1); |
| | | led.setOnlineSign(1); |
| | | online.add(led); |
| | | } else { |
| | | led.setIsOnline(0); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(led.getSn(), 0); |
| | | if (login.getStatusCode() == 0) { |
| | | //登陆成功 设置为在线 |
| | | led.setIsOnline(1); |
| | | led.setOnlineSign(1); |
| | | online.add(led); |
| | | } else { |
| | | led.setIsOnline(0); |
| | | } |
| | | countDownLatch.countDown(); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | if (onlineStatus) { |
| | | return online; |
| | | } |
| | |
| | | StatusVO login = login(led.getSn(), 0); |
| | | |
| | | StatusVO result = new StatusVO(); |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | if (login.getStatusCode() == 0) { |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | //推送结果 |
| | | TrasfromStatusVO trasfromStatusVO = new TrasfromStatusVO(); |
| | | trasfromStatusVO.setSn(led.getSn()); |
| | | instance.nvGetProductInfoAsync("{\n" + |
| | | " \"sn\":\"" + led.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void run() { |
| | | //推送结果 |
| | | TrasfromStatusVO trasfromStatusVO = new TrasfromStatusVO(); |
| | | trasfromStatusVO.setSn(led.getSn()); |
| | | instance.nvGetProductInfoAsync("{\n" + |
| | | " \"sn\":\"" + led.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | result.setStatusCode(code); |
| | | result.setStatusData(data); |
| | | System.out.println("\nViplexCore 获取屏幕信息 code:" + code); |
| | | System.out.println("\nViplexCore 获取屏幕信息 data:" + data); |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | public void dataCallBack(int code, String data) { |
| | | result.setStatusCode(code); |
| | | result.setStatusData(data); |
| | | System.out.println("\nViplexCore 获取屏幕信息 code:" + code); |
| | | System.out.println("\nViplexCore 获取屏幕信息 data:" + data); |
| | | countDownLatch.countDown(); |
| | | } |
| | | }).start(); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MICROSECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } else { |
| | | } /*else { |
| | | throw new BusinessException("设备登录失败,经检查设备是否连接"); |
| | | } |
| | | NewNovaInfoBo newNovaInfoBo = JSON.parseObject(result.getStatusData(), NewNovaInfoBo.class); |
| | | led.setInfo(newNovaInfoBo); |
| | | }*/ |
| | | if (result.getStatusCode() == 0) { |
| | | NewNovaInfoBo newNovaInfoBo = JSON.parseObject(result.getStatusData(), NewNovaInfoBo.class); |
| | | led.setInfo(newNovaInfoBo); |
| | | } /*else { |
| | | throw new BusinessException("设备登录失败,经检查设备是否连接"); |
| | | }*/ |
| | | return led; |
| | | } |
| | | |
| | |
| | | |
| | | System.out.println("ViplexCore Demo nvGetScreenPowerStateAsync(获取屏幕开关) begin... "); |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | //推送结果 |
| | | instance.nvGetScreenPowerStateAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取屏幕开关 code:" + code); |
| | | System.out.println("\nViplexCore 获取屏幕开关 data:" + data); |
| | | if (code == 0 && data.contains("OPEN")) { |
| | | newNova.setScreenPower(1); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvGetScreenPowerStateAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取屏幕开关 code:" + code); |
| | | System.out.println("\nViplexCore 获取屏幕开关 data:" + data); |
| | | if (code == 0 && data.contains("OPEN")) { |
| | | newNova.setScreenPower(1); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | return newNovaLsit; |
| | | } |
| | |
| | | |
| | | System.out.println("ViplexCore Demo nvGetVolumeAsync(获取音量) begin... "); |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | //推送结果 |
| | | instance.nvGetVolumeAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取音量 code:" + code); |
| | | System.out.println("\nViplexCore 获取音量 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setVolume((BigDecimal) JSON.parseObject(data, Map.class).get("ratio")); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvGetVolumeAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取音量 code:" + code); |
| | | System.out.println("\nViplexCore 获取音量 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setVolume((BigDecimal) JSON.parseObject(data, Map.class).get("ratio")); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | return newNovaLsit; |
| | | } |
| | |
| | | System.out.println("ViplexCore Demo nvGetScreenBrightnessAsync(获取亮度) begin... "); |
| | | |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | //推送结果 |
| | | instance.nvGetScreenBrightnessAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取亮度 code:" + code); |
| | | System.out.println("\nViplexCore 获取亮度 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setBrightness((BigDecimal) JSON.parseObject(data, Map.class).get("ratio")); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvGetScreenBrightnessAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取亮度 code:" + code); |
| | | System.out.println("\nViplexCore 获取亮度 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setBrightness((BigDecimal) JSON.parseObject(data, Map.class).get("ratio")); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | return newNovaLsit; |
| | | } |
| | |
| | | |
| | | System.out.println("ViplexCore Demo nvGetSyncPlayAsync(获取同步) begin... "); |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | //推送结果 |
| | | instance.nvGetSyncPlayAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取同步 code:" + code); |
| | | System.out.println("\nViplexCore 获取同步 data:" + data); |
| | | if (code == 0) { |
| | | boolean enable = (boolean) JSON.parseObject(data, Map.class).get("enable"); |
| | | if (enable) { |
| | | newNova.setSync(1); |
| | | } |
| | | } else { |
| | | newNova.setSync(-1); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | }); |
| | | //推送结果 |
| | | instance.nvGetSyncPlayAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取同步 code:" + code); |
| | | System.out.println("\nViplexCore 获取同步 data:" + data); |
| | | if (code == 0) { |
| | | boolean enable = (boolean) JSON.parseObject(data, Map.class).get("enable"); |
| | | if (enable) { |
| | | newNova.setSync(1); |
| | | } |
| | | } else { |
| | | newNova.setSync(-1); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return newNovaLsit; |
| | | } |
| | | |
| | |
| | | if (param.getNovaList() == null || param.getNovaList().size() == 0) { |
| | | throw new BusinessException("同步设备不能为空 !"); |
| | | } |
| | | CountDownLatch countDownLatch = new CountDownLatch(param.getNovaList().size()); |
| | | param.getNovaList().forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | login(newNova.getSn(), 0); |
| | | String str = "{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"enable\":" + param.isSync() + "\n" + |
| | | "}"; |
| | | |
| | | System.out.println("str : " + str); |
| | | //推送结果 |
| | | instance.nvSetSyncPlayAsync(str, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 设置同步 code:" + code); |
| | | System.out.println("\nViplexCore 设置同步 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setStatus(true); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | String str = "{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"enable\":" + param.isSync() + "\n" + |
| | | "}"; |
| | | |
| | | System.out.println("str : " + str); |
| | | //推送结果 |
| | | instance.nvSetSyncPlayAsync(str, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 设置同步 code:" + code); |
| | | System.out.println("\nViplexCore 设置同步 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setStatus(true); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | return param.getNovaList(); |
| | | } |
| | |
| | | if (param.getNovaList() == null || param.getNovaList().size() == 0) { |
| | | throw new BusinessException("重启设备不能为空 !"); |
| | | } |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | param.getNovaList().forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | StatusVO login = login(newNova.getSn(), 1); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvSetReBootTaskAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"taskInfo\":{\n" + |
| | | " \"type\":\"REBOOT\",\n" + |
| | | " \"source\":{\n" + |
| | | " \"type\":0,\n" + |
| | | " \"platform\":4\n" + |
| | | " },\n" + |
| | | " \"executionType\":\"IMMEDIATELY\",\n" + |
| | | " \"reason\":\"Just to reboot\",\n" + |
| | | " \"conditions\":[\n" + |
| | | " {\n" + |
| | | " \"cron\":[\n" + |
| | | " \"0 15 10 ? * *\",\n" + |
| | | " \"0 0 12 * * ?\"\n" + |
| | | " ],\n" + |
| | | " \"enable\":false\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 重启 code:" + code); |
| | | System.out.println("\nViplexCore 重启 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setStatus(true); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | logout(newNova.getSn(), 0); |
| | | StatusVO login = login(newNova.getSn(), 1); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | login(newNova.getSn(), 0); |
| | | |
| | | String rebootStr = "{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"taskInfo\":{\n" + |
| | | " \"type\":\"REBOOT\",\n" + |
| | | " \"source\":{\n" + |
| | | " \"type\":0,\n" + |
| | | " \"platform\":1\n" + |
| | | " },\n" + |
| | | " \"executionType\":\"IMMEDIATELY\",\n" + |
| | | " \"reason\":\"Just to test\",\n" + |
| | | " \"conditions\":[\n" + |
| | | " {\n" + |
| | | " \"cron\":[\n" + |
| | | " \"0 15 10 ? * *\",\n" + |
| | | " \"0 0 12 * * ?\"\n" + |
| | | " ],\n" + |
| | | " \"enable\":false\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | "}"; |
| | | System.out.println("rebootStr : " + rebootStr); |
| | | //推送结果 |
| | | instance.nvSetReBootTaskAsync(rebootStr, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 重启 code:" + code); |
| | | System.out.println("\nViplexCore 重启 data:" + data); |
| | | if (code == 0) { |
| | | newNova.setStatus(true); |
| | | loginSn.remove(newNova.getSn()); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | // StatusVO logout = logout(newNova.getSn(), 1); |
| | | // if (logout.getStatusCode() == 0) { |
| | | // login(newNova.getSn(), 0); |
| | | // } |
| | | } |
| | | ); |
| | | |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return param.getNovaList(); |
| | | } |
| | | |
| | |
| | | if (param.getNovaList() == null || param.getNovaList().size() == 0) { |
| | | throw new BusinessException("对时设备不能为空 !"); |
| | | } |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(param.getNovaList().size()); |
| | | param.getNovaList().forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | // login(newNova.getSn(), 0); |
| | | String ntpStr="{\n" + |
| | | " \"sn\":\""+newNova.getSn()+"\",\n" + |
| | | " \"TimingInfo\":{\n" + |
| | | " \"source\":{\n" + |
| | | " \"type\":1,\n" + |
| | | " \"platform\":1\n" + |
| | | " },\n" + |
| | | " \"taskArray\":[\n" + |
| | | " {\n" + |
| | | " \"type\":\"NTP_CONFIG\",\n" + |
| | | " \"action\":4,\n" + |
| | | " \"data\":{\n" + |
| | | " \"enable\":"+param.isNtp()+",\n" + |
| | | " \"server\":\"http://ntp1.aliyun.com\"\n" + |
| | | " }\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | "}"; |
| | | System.out.println("ntpStr"+ ntpStr); |
| | | |
| | | //推送结果 |
| | | instance.nvSetNetTimingInfoAsync(ntpStr, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore ntp code:" + code); |
| | | System.out.println("\n时间 ntp :" + DateTime.now()); |
| | | System.out.println("\nViplexCore ntp data:" + data); |
| | | if (code == 0 && data.contains("\"status\":1")) { |
| | | System.out.println("results: " + data.contains("\"status\":1")); |
| | | newNova.setStatus(true); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | }); |
| | | String ntpStr = "{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"TimingInfo\":{\n" + |
| | | " \"source\":{\n" + |
| | | " \"type\":1,\n" + |
| | | " \"platform\":1\n" + |
| | | " },\n" + |
| | | " \"taskArray\":[\n" + |
| | | " {\n" + |
| | | " \"type\":\"NTP_CONFIG\",\n" + |
| | | " \"action\":4,\n" + |
| | | " \"data\":{\n" + |
| | | " \"enable\":" + param.isNtp() + ",\n" + |
| | | " \"server\":\"http://ntp1.aliyun.com\"\n" + |
| | | " }\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | "}"; |
| | | System.out.println("ntpStr" + ntpStr); |
| | | |
| | | //推送结果 |
| | | instance.nvSetNetTimingInfoAsync(ntpStr, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore ntp code:" + code); |
| | | System.out.println("\n时间 ntp :" + DateTime.now()); |
| | | System.out.println("\nViplexCore ntp data:" + data); |
| | | if (code == 0 && data.contains("\"status\":1")) { |
| | | System.out.println("results: " + data.contains("\"status\":1")); |
| | | newNova.setStatus(true); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return param.getNovaList(); |
| | | } |
| | | |
| | |
| | | System.out.println("ViplexCore Demo nvDownLoadScreenshotAsync(截屏) begin... "); |
| | | NovaFileConfig config = SpringContextHolder.getBean(NovaFileConfig.class); |
| | | String shotPath = config.getScreenShotPath(); |
| | | param.getScreenShotList().forEach(newNova -> { |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | new Thread(new Runnable() { |
| | | |
| | | @Override |
| | | public void run() { |
| | | login(newNova.getSn(), 0); |
| | | String pictureName = newNova.getSn() + ".png"; |
| | | String str = "{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"width\":400,\n" + |
| | | " \"height\":400,\n" + |
| | | " \"downLoadDirectoryPath\":\"" + shotPath.replace(File.separator, "/") + "\",\n" + |
| | | " \"pictureName\":\"" + pictureName + "\",\n" + |
| | | " \"pictureType\":0\n" + |
| | | "}"; |
| | | System.out.println("str" + str); |
| | | //推送结果 |
| | | instance.nvDownLoadScreenshotAsync(str, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 截屏 code:" + code); |
| | | System.out.println("\nViplexCore 截屏 data:" + data); |
| | | newNova.setCode(code); |
| | | if (code == 0) { |
| | | String img = config.getScreenShotPath() + pictureName; |
| | | newNova.setScreenShot(config.getFileUrl() + img.replace(config.getUploadRootPath(), "").replace(File.separator, "/")); |
| | | } else { |
| | | newNova.setScreenShot(data); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | for(NewNovaStatusParam.NovascreenShotDTO newNova:param.getScreenShotList()){ |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | continue; |
| | | } |
| | | }); |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | String pictureName = newNova.getSn() + ".png"; |
| | | String str = "{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\",\n" + |
| | | " \"width\":400,\n" + |
| | | " \"height\":400,\n" + |
| | | " \"downLoadDirectoryPath\":\"" + shotPath.replace(File.separator, "/") + "\",\n" + |
| | | " \"pictureName\":\"" + pictureName + "\",\n" + |
| | | " \"pictureType\":0\n" + |
| | | "}"; |
| | | System.out.println("str" + str); |
| | | //推送结果 |
| | | instance.nvDownLoadScreenshotAsync(str, new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 截屏 code:" + code); |
| | | System.out.println("\nViplexCore 截屏 data:" + data); |
| | | newNova.setCode(code); |
| | | if (code == 0) { |
| | | String img = config.getScreenShotPath() + pictureName; |
| | | newNova.setScreenShot(config.getFileUrl() + img.replace(config.getUploadRootPath(), "").replace(File.separator, "/")); |
| | | } else { |
| | | newNova.setScreenShot(data); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | //等待設備回調信息 |
| | | try { |
| | | countDownLatch.await(5000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException ex) { |
| | | throw new RuntimeException(ex); |
| | | } |
| | | } |
| | | return param.getScreenShotList(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取屏幕尺寸 |
| | | */ |
| | | public List<NewNovaLed> getDisplayInfoAsync(List<NewNovaLed> newNovaLsit) { |
| | | |
| | | System.out.println("ViplexCore Demo nvGetDisplayInfoAsync(获取分辨率) begin... "); |
| | | //PlayerInfoVO |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvGetDisplayInfoAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取分辨率 code:" + code); |
| | | System.out.println("\nViplexCore 获取分辨率 data:" + data); |
| | | if (code == 0) { |
| | | PlayerInfoVO playerInfoVO = JSON.parseObject(data, PlayerInfoVO.class); |
| | | PlayerInfoVO.TaskArrayDTO.DataDTO dataDTO = playerInfoVO.getTaskArray().get(0).getData(); |
| | | newNova.setWidth(dataDTO.getWidth()); |
| | | newNova.setHeight(dataDTO.getHeight()); |
| | | newNova.setRotation(dataDTO.getRotation()); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return newNovaLsit; |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取视频源 |
| | | */ |
| | | public List<NewNovaLed> getVideoInfoAsync(List<NewNovaLed> newNovaLsit) { |
| | | |
| | | System.out.println("ViplexCore Demo nvGetVideoControlInfoAsync(获取视频源) begin... "); |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvGetVideoControlInfoAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取视频源 code:" + code); |
| | | System.out.println("\nViplexCore 获取视频源 data:" + data); |
| | | if (code == 0) { |
| | | VideoInfoVO videoInfoVO = JSON.parseObject(data, VideoInfoVO.class); |
| | | newNova.setVideoControlInfo(videoInfoVO.getVideoSource()); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return newNovaLsit; |
| | | } |
| | | |
| | | /** |
| | | * 获取时区 |
| | | */ |
| | | public List<NewNovaLed> getTimezone(List<NewNovaLed> newNovaLsit) { |
| | | |
| | | System.out.println("ViplexCore Demo nvGetCurrentTimeAndZoneAsync(获取时区) begin... "); |
| | | |
| | | CountDownLatch countDownLatch = new CountDownLatch(newNovaLsit.size()); |
| | | newNovaLsit.forEach(newNova -> { |
| | | StatusVO login = login(newNova.getSn(), 0); |
| | | if (login.getStatusCode() != 0) { |
| | | countDownLatch.countDown(); |
| | | return; |
| | | } |
| | | //推送结果 |
| | | instance.nvGetCurrentTimeAndZoneAsync("{\n" + |
| | | " \"sn\":\"" + newNova.getSn() + "\"\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 获取时区 code:" + code); |
| | | System.out.println("\nViplexCore 获取时区 data:" + data); |
| | | if (code == 0) { |
| | | Map map = JSON.parseObject(data, Map.class); |
| | | newNova.setTimeZone(map.get("timeZone").toString()); |
| | | newNova.setCurrentTime(map.get("currentTime").toString()); |
| | | } |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | try { |
| | | countDownLatch.await(30000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return newNovaLsit; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 退出登录 |
| | | */ |
| | | public StatusVO logout(String sn, Integer type) { |
| | | |
| | | System.out.println("ViplexCore Demo nvLogoutAsync(退出登录) begin... "); |
| | | CountDownLatch countDownLatch = new CountDownLatch(1); |
| | | |
| | | StatusVO logout = new StatusVO(); |
| | | //推送结果 |
| | | instance.nvLogoutAsync("{\n" + |
| | | " \"sn\":\"" + sn + "\",\n" + |
| | | " \"loginType\":" + type + "\n" + |
| | | "}", new ViplexCore.CallBack() { |
| | | @Override |
| | | public void dataCallBack(int code, String data) { |
| | | |
| | | System.out.println("\nViplexCore 退出登录 code:" + code); |
| | | System.out.println("\nViplexCore 退出登录 data:" + data); |
| | | logout.setStatusCode(code); |
| | | logout.setStatusData(data); |
| | | countDownLatch.countDown(); |
| | | } |
| | | }); |
| | | |
| | | try { |
| | | countDownLatch.await(10000, TimeUnit.MILLISECONDS); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return logout; |
| | | } |
| | | } |