From c104ea8b0bb99e058633770016abebe117d53d00 Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期一, 05 十二月 2022 15:43:51 +0800
Subject: [PATCH] 新諾瓦批量截圖改成同步獲取截圖
---
ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java | 955 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 632 insertions(+), 323 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java
index 2d005fd..59ddeaa 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java
@@ -3,8 +3,9 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.sandu.common.execption.BusinessException;
+import com.sandu.common.file.config.NovaFileConfig;
import com.sandu.common.util.SpringContextHolder;
-import com.sandu.ximon.admin.newnova.conf.FilePathConfig;
+import com.sandu.ximon.admin.newnova.conf.ProgramPathConfig;
import com.sandu.ximon.admin.newnova.param.NewNovaStatusParam;
import com.sandu.ximon.admin.newnova.param.ProgramPrarm;
import com.sandu.ximon.admin.newnova.vo.*;
@@ -12,7 +13,9 @@
import com.sandu.ximon.dao.bo.NewNovaInfoBo;
import com.sandu.ximon.dao.domain.NewNovaLed;
import com.sun.jna.Native;
+import org.joda.time.DateTime;
+import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
@@ -28,7 +31,7 @@
public class NovaAPIUtil {
- private FilePathConfig filePathConfig;
+ private ProgramPathConfig filePathConfig;
private Map<String, Boolean> loginSn = new HashMap();
@@ -39,7 +42,7 @@
private static String loginInfo = null;
private NovaAPIUtil() {
- filePathConfig = SpringContextHolder.getBean(FilePathConfig.class);
+ filePathConfig = SpringContextHolder.getBean(ProgramPathConfig.class);
String rootDir = filePathConfig.getOutPutPath();
instance = (ViplexCore) Native.loadLibrary(filePathConfig.getStringPath(), ViplexCore.class);
System.setProperty("jna.encoding", "UTF-8");
@@ -49,26 +52,6 @@
instance.nvSetDevLang("Java");
System.out.println("nvInit(sdk 鍒濆鍖�):");
System.out.println(instance.nvInit(rootDir, companyInfo));
-
-
-// login("MZVA51930N2113017308");//todo 鎵嬪姩鐧诲綍杩樻槸鑷姩鐧诲綍
- }
-
- public static NovaAPIUtil getInstanceUtil() {
- if (instanceUtil == null) {
- synchronized (NovaAPIUtil.class) {
- if (instanceUtil == null) {
- instanceUtil = new NovaAPIUtil();
- }
- }
- }
- return instanceUtil;
- }
-
- /**
- * 鐧诲綍
- */
- public StatusVO login(String sn) {
StatusVO searchVO = new StatusVO();
System.out.println("ViplexCore Demo nvSearchTerminalAsync(鎼滅储) begin... ");
@@ -86,24 +69,53 @@
countDownLatch1.countDown();
}
});
+
try {
- countDownLatch1.await();
+ countDownLatch1.await(10000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
+// login("MZVA51930N2113017308");
+ }
- if (loginSn.get(sn) != null && loginSn.get(sn)) {
+ public static NovaAPIUtil getInstanceUtil() {
+ if (instanceUtil == null) {
+ synchronized (NovaAPIUtil.class) {
+ if (instanceUtil == null) {
+ instanceUtil = new NovaAPIUtil();
+ }
+ }
+ }
+ return instanceUtil;
+ }
+
+ /**
+ * 鐧诲綍
+ * loginType
+ * 0锛氱櫥闄嗗埌灞忎綋绠$悊
+ * 1锛氱櫥闄嗗埌绯荤粺璁剧疆锛堟殫闂ㄧ櫥褰曪級
+ * 2锛氱櫥闄嗗埌璇婃柇妯″潡
+ * 3锛歀CT鐧诲綍
+ * 5锛氬叕缃慡DK鐧诲綍
+ */
+ public StatusVO login(String sn, Integer loginType) {
+
+ if (loginSn.get(sn) != null && loginSn.get(sn) && loginType == 0) {
return new StatusVO(0);
}
- if (!loginInfo.contains(String.format("\"sn\":\"%s\",", sn))) {
+ if (loginInfo == null) {
+ return new StatusVO(10086);
+ }
+ if (!loginInfo.contains(String.format("\"sn\":\"%s\",", sn)) && loginType == 0) {
//鏈悳绱㈠埌灞忓箷 鐧诲綍涓嶆垚鍔�
+ System.out.println("loginType : " + loginType);
return new StatusVO(10086);
}
StatusVO statusVO = new StatusVO();
System.out.println("ViplexCore Demo nvLoginAsync(鐧诲綍) begin... ");
- String loginParam = String.format("{\"sn\":\"%s\",\"username\":\"admin\",\"rememberPwd\":0,\"password\":\"123456\",\"loginType\":0}", sn);
+ String loginParam = String.format("{\"sn\":\"%s\",\"username\":\"admin\",\"rememberPwd\":0,\"password\":\"123456\",\"loginType\":" + loginType + "}", sn);
CountDownLatch countDownLatch2 = new CountDownLatch(1);
instance.nvLoginAsync(loginParam, new ViplexCore.CallBack() {
@@ -112,8 +124,8 @@
public void dataCallBack(int code, String data) {
statusVO.setStatusCode(code);
statusVO.setStatusData(data);
- System.out.println("\nViplexCore Demo code:" + code);
- System.out.println("\nViplexCore Demo data:" + data);
+ System.out.println("\nViplexCore 鐧诲綍 code:" + code);
+ System.out.println("\nViplexCore 鐧诲綍 data:" + data);
countDownLatch2.countDown();
}
@@ -180,6 +192,7 @@
System.out.println("ViplexCore Demo nvSetPageProgramAsync(缂栬緫鑺傜洰) begin... ");
StatusVO statusVO = new StatusVO();
CountDownLatch countDownLatch = new CountDownLatch(1);
+ System.out.println("editProgram: " + JSON.toJSONString(programInfoVO));
instance.nvSetPageProgramAsync(JSON.toJSONString(programInfoVO), new ViplexCore.CallBack() {
@Override
public void dataCallBack(int code, String data) {
@@ -187,6 +200,41 @@
statusVO.setStatusData(data);
System.out.println("\nViplexCore 缂栬緫鑺傜洰 code:" + code);
System.out.println("\nViplexCore 缂栬緫鑺傜洰 data:" + data);
+ countDownLatch.countDown();
+ }
+
+ });
+ try {
+ countDownLatch.await(30000, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+
+ return statusVO;
+ }
+
+
+ /**
+ * 鍒朵綔澶氶〉鑺傜洰
+ *
+ * @param pageInfo
+ * @return
+ */
+ public StatusVO editPrograms(int pid, List<Map> pageInfo) {
+ ProgramsInfoVO programInfoVO = new ProgramsInfoVO();
+ programInfoVO.setProgramID(pid);
+ programInfoVO.setSceneItems(pageInfo);
+ System.out.println("ViplexCore Demo nvSetPageProgramAsync(缂栬緫鑺傜洰) begin... ");
+ StatusVO statusVO = new StatusVO();
+ CountDownLatch countDownLatch = new CountDownLatch(1);
+ System.out.println("editProgram: " + JSON.toJSONString(programInfoVO));
+ instance.nvSetPageProgramsAsync(JSON.toJSONString(programInfoVO), new ViplexCore.CallBack() {
+ @Override
+ public void dataCallBack(int code, String data) {
+ statusVO.setStatusCode(code);
+ statusVO.setStatusData(data);
+ System.out.println("\nViplexCore 缂栬緫澶氶〉鑺傜洰 code:" + code);
+ System.out.println("\nViplexCore 缂栬緫澶氶〉鑺傜洰 data:" + data);
countDownLatch.countDown();
}
@@ -243,15 +291,13 @@
public List<TrasfromStatusVO> trasfromProgram(ProgramPrarm pageInfo) {
TransfromProgramVO transfromProgramVO = new TransfromProgramVO();
- transfromProgramVO.setProgramName("鑺傜洰01");
+ transfromProgramVO.setProgramName(pageInfo.getProgramMsg().getName());
//璁剧疆鑺傜洰鍐呭
TransfromProgramVO.SendProgramFilePathsDTO sendProgramFilePaths = new TransfromProgramVO.SendProgramFilePathsDTO();
//鑺傜洰
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);
//鑺傜洰鏍囪瘑
@@ -262,90 +308,85 @@
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);
- //鎺ㄩ�佺粨鏋�
- TrasfromStatusVO trasfromStatusVO = new TrasfromStatusVO();
- trasfromStatusVO.setSn(sn);
- 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;
}
+
/**
* 鏌ヨ鍦ㄧ嚎鐘舵��
*
* @return
*/
- public List<NewNovaLed> getOnlineStatus(List<NewNovaLed> newNovaListBos) {
+ 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());
- if (login.getStatusCode() == 0) {
- //鐧婚檰鎴愬姛 璁剧疆涓哄湪绾�
- led.setIsOnline(1);
- led.setOnlineSign(1);
- } 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;
+ }
return newNovaListBos;
}
@@ -356,44 +397,40 @@
public NewNovaLed getInfo(NewNovaLed led) {
System.out.println("ViplexCore Demo nvGetProductInfoAsync(鑾峰彇灞忓箷淇℃伅) begin... ");
- StatusVO login = login(led.getSn());
+ 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);
- System.out.println(JSON.toJSONString(led.getInfo()) + "--------");
+ }*/
+ if (result.getStatusCode() == 0) {
+ NewNovaInfoBo newNovaInfoBo = JSON.parseObject(result.getStatusData(), NewNovaInfoBo.class);
+ led.setInfo(newNovaInfoBo);
+ } /*else {
+ throw new BusinessException("璁惧鐧诲綍澶辫触,缁忔鏌ヨ澶囨槸鍚﹁繛鎺�");
+ }*/
return led;
}
@@ -405,38 +442,83 @@
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;
}
+
+
+ /**
+ * 璁剧疆寮�鍏冲睆
+ */
+ public boolean setPowerStatus(NewNovaStatusParam param) {
+
+ System.out.println("ViplexCore Demo nvSetScreenPowerStateAsync(璁剧疆灞忓箷寮�鍏�) begin... ");
+ CountDownLatch countDownLatch = new CountDownLatch(1);
+ StatusVO login = login(param.getSn(), 0);
+ String status = "CLOSE";
+ if (param.getPowerStatus() == 1) {
+ status = "OPEN";
+ }
+ if (login.getStatusCode() == 0) {
+ String jsonStr = "{\n" +
+ " \"sn\":\"" + param.getSn() + "\",\n" +
+ " \"taskInfo\":{\n" +
+ " \"state\":\"" + status + "\"\n" +
+ " }\n" +
+ "}";
+ instance.nvSetScreenPowerStateAsync(jsonStr, new ViplexCore.CallBack() {
+ @Override
+ public void dataCallBack(int code, String data) {
+
+ System.out.println("\nViplexCore 璁剧疆灞忓箷寮�鍏� code:" + code);
+ System.out.println("\nViplexCore 璁剧疆灞忓箷寮�鍏� data:" + data);
+ countDownLatch.countDown();
+ if (code == 0) {
+ login.setStatusCode(10086);
+ }
+ }
+ });
+ try {
+ countDownLatch.await();
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ if (login.getStatusCode() == 10086) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
/**
* 鑾峰彇闊抽噺
@@ -445,35 +527,34 @@
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;
}
@@ -486,11 +567,11 @@
System.out.println("ViplexCore Demo nvSetScreenBrightnessAsync(Volume) begin... ");
CountDownLatch countDownLatch = new CountDownLatch(1);
- StatusVO login = login(param.getSn());
+ StatusVO login = login(param.getSn(), 0);
if (login.getStatusCode() == 0) {
String jsonStr = "{\n" +
" \"sn\":\"" + param.getSn() + "\",\n" +
- " \"screenBrightnessInfo\":{\n" +
+ " \"volumeInfo\":{\n" +
" \"ratio\":" + param.getVolume() + "\n" +
" }\n" +
"}";
@@ -528,35 +609,34 @@
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;
}
@@ -568,7 +648,7 @@
System.out.println("ViplexCore Demo nvSetScreenBrightnessAsync(璁剧疆浜害) begin... ");
CountDownLatch countDownLatch = new CountDownLatch(1);
- StatusVO login = login(param.getSn());
+ StatusVO login = login(param.getSn(), 0);
if (login.getStatusCode() == 0) {
String jsonStr = "{\n" +
" \"sn\":\"" + param.getSn() + "\",\n" +
@@ -608,36 +688,40 @@
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) {
- 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;
}
@@ -651,36 +735,39 @@
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() {
- //鎺ㄩ�佺粨鏋�
- instance.nvSetSyncPlayAsync("{\n" +
- " \"sn\":\"" + newNova.getSn() + "\",\n" +
- " \"enable\":" + param.isSync() + "\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);
+ 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();
}
@@ -694,22 +781,25 @@
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() {
- //鎺ㄩ�佺粨鏋�
- instance.nvSetReBootTaskAsync("{\n" +
+ logout(newNova.getSn(), 0);
+ StatusVO login = login(newNova.getSn(), 1);
+ if (login.getStatusCode() != 0) {
+ countDownLatch.countDown();
+ return;
+ }
+
+ String rebootStr = "{\n" +
" \"sn\":\"" + newNova.getSn() + "\",\n" +
" \"taskInfo\":{\n" +
" \"type\":\"REBOOT\",\n" +
" \"source\":{\n" +
" \"type\":0,\n" +
- " \"platform\":4\n" +
+ " \"platform\":1\n" +
" },\n" +
" \"executionType\":\"IMMEDIATELY\",\n" +
- " \"reason\":\"Just to reboot\",\n" +
+ " \"reason\":\"Just to test\",\n" +
" \"conditions\":[\n" +
" {\n" +
" \"cron\":[\n" +
@@ -720,7 +810,10 @@
" }\n" +
" ]\n" +
" }\n" +
- "}", new ViplexCore.CallBack() {
+ "}";
+ System.out.println("rebootStr : " + rebootStr);
+ //鎺ㄩ�佺粨鏋�
+ instance.nvSetReBootTaskAsync(rebootStr, new ViplexCore.CallBack() {
@Override
public void dataCallBack(int code, String data) {
@@ -728,20 +821,22 @@
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);
+// }
}
- }).start();
- try {
- countDownLatch.await(30000, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- });
-
+ );
+ try {
+ countDownLatch.await(30000, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
return param.getNovaList();
}
@@ -755,54 +850,268 @@
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() {
- //鎺ㄩ�佺粨鏋�
- instance.nvSetNetTimingInfoAsync("{\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://ntpsss.net\"\n" +
- " }\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);
+ 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();
}
+
+ /**
+ * 鎴睆
+ */
+ public List<NewNovaStatusParam.NovascreenShotDTO> screenShot(NewNovaStatusParam param) {
+
+ System.out.println("ViplexCore Demo nvDownLoadScreenshotAsync(鎴睆) begin... ");
+ NovaFileConfig config = SpringContextHolder.getBean(NovaFileConfig.class);
+ String shotPath = config.getScreenShotPath();
+ 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;
+ }
}
--
Gitblit v1.9.3