From 5e94332935da62448c17f89a807acf46a5ae3e75 Mon Sep 17 00:00:00 2001
From: Van333 <van666666@foxmail.com>
Date: 星期四, 15 十二月 2022 10:08:22 +0800
Subject: [PATCH] 本地诺瓦调整
---
ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java | 124 +++++++++++++++++++++++++++--------------
1 files changed, 81 insertions(+), 43 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 59ddeaa..393bc3c 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
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.newnova.utils;
+import afu.org.checkerframework.checker.units.qual.A;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.sandu.common.execption.BusinessException;
@@ -24,6 +25,8 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
+import static java.lang.Thread.sleep;
+
/**
* @author LiuHaoNan
* @date 2022/11/9
@@ -33,7 +36,15 @@
private ProgramPathConfig filePathConfig;
- private Map<String, Boolean> loginSn = new HashMap();
+ /*
+ * 鎴愬姛鐧诲綍鐨�
+ * */
+ public static Map<String, Boolean> loginSn = new HashMap();
+
+ /*
+ * 鎼滅储鍑烘潵鐨勭姸鎬�
+ * */
+ public static List<StatusVO> searchStatus = new ArrayList<>();
private ViplexCore instance = null;
@@ -41,7 +52,7 @@
private static String loginInfo = null;
- private NovaAPIUtil() {
+ private NovaAPIUtil() throws InterruptedException {
filePathConfig = SpringContextHolder.getBean(ProgramPathConfig.class);
String rootDir = filePathConfig.getOutPutPath();
instance = (ViplexCore) Native.loadLibrary(filePathConfig.getStringPath(), ViplexCore.class);
@@ -57,32 +68,59 @@
System.out.println("ViplexCore Demo nvSearchTerminalAsync(鎼滅储) begin... ");
CountDownLatch countDownLatch1 = new CountDownLatch(1);
- instance.nvSearchTerminalAsync(new ViplexCore.CallBack() {
+ instance.nvSearchTerminalAsync((code, data) -> {
+ searchVO.setStatusCode(code);
+ searchVO.setStatusData(data);
+ loginInfo = data;
- @Override
- public void dataCallBack(int code, String data) {
- searchVO.setStatusCode(code);
- searchVO.setStatusData(data);
- loginInfo = data;
+
+ if (code == 0 ){
+ Map map = (Map) JSONObject.parse(data);
+ /*
+ * 褰撳墠灞忎綋鐘舵�侊紝terminalState鍏辨湁6涓��,鍒嗗埆浠h〃锛�
+0锛氭湭杩炴帴浠讳綍缁堢锛屽綋鍓嶅浜庢湭杩炴帴鐘舵��
+1锛氳繛鎺ユ垚鍔熶絾鏄湭鐧诲綍鐘舵��
+2锛氳浠栦汉鐧诲綍鐘舵��
+3锛氱櫥褰曟垚鍔熺姸鎬�
+4锛氬瘑鐮侀敊璇姸鎬�
+5锛氱绾跨姸鎬侊紝澶勪簬鎼滅储涓嶅埌鐨勭姸鎬侊紝浣嗘槸鏇剧粡琚悳绱㈠埌杩�
+ * */
+ if (map.get("terminalState").equals(0) || map.get("terminalState").equals(1)){
+ login((String) map.get("sn"),0);
+ searchVO.setSn((String) map.get("sn"));
+ searchStatus.add(searchVO);
+ System.out.println("\nViplexCore 鎼滅储 sn:" + map.get("sn"));
+ } else if (map.get("terminalState").equals(3) ) {
+ loginSn.put(searchVO.getSn(),true);
+ }
+
System.out.println("\nViplexCore 鎼滅储 code:" + code);
System.out.println("\nViplexCore 鎼滅储 data:" + data);
- countDownLatch1.countDown();
}
+ else{
+ System.out.println("鎼滅储缁撴灉code锛�"+code);
+ }
+ countDownLatch1.countDown();
});
try {
- countDownLatch1.await(10000, TimeUnit.MILLISECONDS);
+ countDownLatch1.await(30000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
// login("MZVA51930N2113017308");
+ sleep(35000);
}
public static NovaAPIUtil getInstanceUtil() {
if (instanceUtil == null) {
synchronized (NovaAPIUtil.class) {
if (instanceUtil == null) {
- instanceUtil = new NovaAPIUtil();
+ try {
+ instanceUtil = new NovaAPIUtil();
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
}
}
}
@@ -100,49 +138,50 @@
*/
public StatusVO login(String sn, Integer loginType) {
+ /*
+ 浠巐oginSn 鍒ゆ柇鏄惁鐧诲綍杩�
+ * */
if (loginSn.get(sn) != null && loginSn.get(sn) && loginType == 0) {
return new StatusVO(0);
}
- 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);
- }
+ /*
+ * 娌℃湁鍒欐墽琛岀櫥褰�
+ * */
+ else {
- StatusVO statusVO = new StatusVO();
+ StatusVO statusVO = new StatusVO();
- System.out.println("ViplexCore Demo nvLoginAsync(鐧诲綍) begin... ");
- String loginParam = String.format("{\"sn\":\"%s\",\"username\":\"admin\",\"rememberPwd\":0,\"password\":\"123456\",\"loginType\":" + loginType + "}", sn);
+ System.out.println("ViplexCore Demo nvLoginAsync(鐧诲綍) begin... ");
+ 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() {
-
- @Override
- public void dataCallBack(int code, String data) {
+ CountDownLatch countDownLatch2 = new CountDownLatch(1);
+ instance.nvLoginAsync(loginParam, (code, data) -> {
statusVO.setStatusCode(code);
statusVO.setStatusData(data);
+
+ System.out.println("\nViplexCore 鐧诲綍 sn:" + sn);
System.out.println("\nViplexCore 鐧诲綍 code:" + code);
System.out.println("\nViplexCore 鐧诲綍 data:" + data);
+ if (code == 65353) {
+ statusVO.setStatusCode(0);
+ }
countDownLatch2.countDown();
- }
+ });
- });
- try {
- countDownLatch2.await();
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
+ try {
+ countDownLatch2.await(5000,TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ if (statusVO.getStatusCode() != 0) {
+ System.out.println("ViplexCore " + sn + " nvLoginAsync(鐧诲綍) 澶辫触锛�");
+ System.out.println("閿欒鐮�:" + statusVO.getStatusCode());
+ loginSn.put(sn,false);
+ } else {
+ loginSn.put(sn, true);
+ }
+ return statusVO;
}
- if (statusVO.getStatusCode() != 0) {
- System.out.println("ViplexCore " + sn + " nvLoginAsync(鐧诲綍) 澶辫触锛�");
- System.out.println("閿欒鐮�:" + statusVO.getStatusCode());
- } else {
- //鐧婚檰鎴愬姛涔嬪悗瀛樺叆map淇濆瓨鐧诲綍淇℃伅
- loginSn.put(sn, true);
- }
- return statusVO;
}
/**
@@ -776,14 +815,13 @@
* 閲嶅惎
*/
public List<NewNovaStatusParam.NovaDTO> reboot(NewNovaStatusParam param) {
-
System.out.println("ViplexCore Demo nvSetReBootTaskAsync(閲嶅惎) begin... ");
if (param.getNovaList() == null || param.getNovaList().size() == 0) {
throw new BusinessException("閲嶅惎璁惧涓嶈兘涓虹┖ !");
}
CountDownLatch countDownLatch = new CountDownLatch(1);
param.getNovaList().forEach(newNova -> {
- logout(newNova.getSn(), 0);
+// logout(newNova.getSn(), 0);
StatusVO login = login(newNova.getSn(), 1);
if (login.getStatusCode() != 0) {
countDownLatch.countDown();
--
Gitblit v1.9.3