From 1d43e01376590a26a8e976a398b4744b6906cab4 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 02 九月 2024 18:16:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
libs/jna.jar | 0
ycl-server/src/main/java/com/ycl/api/HK/HKApi.java | 28 +++---
ycl-server/src/main/java/com/ycl/api/YS/lib/NetDEVSDKLib.java | 19 +++-
ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java | 2
ycl-server/src/main/java/com/ycl/task/OsdTask.java | 37 +++++---
ycl-server/src/main/java/com/ycl/task/VideoTask.java | 16 +++
ycl-server/src/main/java/com/ycl/api/YS/YSInit.java | 9 ++
ycl-server/src/main/java/com/ycl/api/YS/YSApi.java | 104 +++++++++++++++++++++-----
ycl-pojo/src/main/java/com/ycl/platform/domain/result/OSDResult.java | 5 -
ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java | 2
ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java | 2
11 files changed, 159 insertions(+), 65 deletions(-)
diff --git a/libs/jna.jar b/libs/jna.jar
index e69de29..af5dd08 100644
--- a/libs/jna.jar
+++ b/libs/jna.jar
Binary files differ
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/OSDResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/OSDResult.java
index f2427e0..ade1021 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/OSDResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/OSDResult.java
@@ -35,10 +35,7 @@
* 閫氶亾鍚嶏紙monitor鐨勮澶囧悕锛�
*/
private String name;
- /**
- * OSD4銆�5閮藉彲鑳戒负鍚嶅瓧锛屼袱鏉′竴璧锋瘮瀵�
- */
- private String name2;
+
//osd宸︿笅
/**
* 鍥恒�佹灙銆佽矾銆佽タ鍖�
diff --git a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
index 694047d..136a3d5 100644
--- a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
+++ b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
@@ -206,8 +206,6 @@
osdResult.setOSD3(osdStr);
}else if(num ==3){
osdResult.setName(osdStr);
- }else if(num ==4){
- osdResult.setName2(osdStr);
}
}
num++;
diff --git a/ycl-server/src/main/java/com/ycl/api/HK/HKApi.java b/ycl-server/src/main/java/com/ycl/api/HK/HKApi.java
index cd6869c..a427de7 100644
--- a/ycl-server/src/main/java/com/ycl/api/HK/HKApi.java
+++ b/ycl-server/src/main/java/com/ycl/api/HK/HKApi.java
@@ -1,6 +1,7 @@
package com.ycl.api.HK;
import com.ycl.platform.domain.result.OSDResult;
+import com.ycl.utils.StringUtils;
import constant.ApiConstants;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpResponse;
@@ -40,21 +41,21 @@
if (OSDString == null) return null;
//瑙f瀽xml
- parseXMl(OSDString, "TextOverlay", "displayText", osdResult, null,ip);
+ parseXMl(OSDString, "TextOverlay", "displayText", osdResult, null, ip);
//鑾峰彇Time
String timeString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_TIME, userName, password);
if (timeString == null) return null;
Date date = new Date();
//瑙f瀽xml
- parseXMl(timeString, "Time", "localTime", osdResult, date,ip);
+ parseXMl(timeString, "Time", "localTime", osdResult, date, ip);
} catch (Exception e) {
return null;
}
return osdResult;
}
- private static void parseXMl(String OSDString, String tagName1, String tagName2, OSDResult osdResult, Date date,String ip) throws ParserConfigurationException, SAXException, IOException {
+ private static void parseXMl(String OSDString, String tagName1, String tagName2, OSDResult osdResult, Date date, String ip) throws ParserConfigurationException, SAXException, IOException {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
@@ -66,26 +67,23 @@
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE && "TextOverlay".equals(tagName1)) {
Element element = (Element) node;
- String id = element.getElementsByTagName("id").item(0).getTextContent();
String textContent = element.getElementsByTagName(tagName2).item(0).getTextContent();
- // log.info("TEXT : " + textContent);
- if ("1".equals(id)) {
+ // log.info("TEXT : " + textContent);
+ if (i == 0) {
osdResult.setOSD1(textContent);
- } else if ("2".equals(id)) {
+ } else if (i == 1) {
osdResult.setOSD2(textContent);
- } else if ("3".equals(id)) {
+ } else if (i == 2) {
osdResult.setOSD3(textContent);
- } else if ("4".equals(id)) {
+ } else if (i == 3) {
osdResult.setName(textContent);
- } else if ("5".equals(id)) {
- osdResult.setName2(textContent);
- } else if ("7".equals(id)) {
+ } else if (i == 4) {
osdResult.setOSD4(textContent);
}
} else if (node.getNodeType() == Node.ELEMENT_NODE && "Time".equals(tagName1)) {
Element element = (Element) node;
String textContent = element.getElementsByTagName(tagName2).item(0).getTextContent();
- // log.info("TEXT : " + textContent);
+ // log.info("TEXT : " + textContent);
osdResult.setCheckTime(date);
OffsetDateTime dateTime = OffsetDateTime.parse(textContent);
// 灏哋ffsetDateTime杞崲涓篋ate瀵硅薄
@@ -93,8 +91,8 @@
}
}
} catch (Exception e) {
- log.error("ip:{}鍑虹幇寮傚父,{}",ip,e.getMessage());
- throw new RuntimeException(e.getMessage());
+ log.error("ip:{}鍑虹幇寮傚父,{}", ip, e.getMessage());
+ throw new RuntimeException(e.getMessage());
}
}
diff --git a/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java b/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java
index 3ec5e46..e36f651 100644
--- a/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java
+++ b/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java
@@ -3,62 +3,126 @@
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
+import com.ycl.api.DH.lib.ToolKits;
import com.ycl.api.DH.utils.DHApi;
import com.ycl.api.YS.lib.NetDEVSDKLib;
import com.ycl.api.YS.login.Login;
+import com.ycl.api.YS.util.Common;
import com.ycl.platform.domain.result.OSDResult;
+import com.ycl.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
+import javax.swing.*;
+import javax.swing.table.DefaultTableModel;
import java.nio.charset.StandardCharsets;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Vector;
import static com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_LOGIN_PROTO_E.NETDEV_LOGIN_PROTO_ONVIF;
@Slf4j
public class YSApi {
- public static OSDResult getOsd(String ip, String userName, String password){
- log.info("ip:{},鐢ㄦ埛:{}锛屽瘑鐮�:{}",ip,userName,password);
+ public static OSDResult getOsd(String ip, String userName, String password) {
+ log.info("ip:{},鐢ㄦ埛:{}锛屽瘑鐮�:{}", ip, userName, password);
//鐧诲綍
NetDEVSDKLib.NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = new NetDEVSDKLib.NETDEV_DEVICE_LOGIN_INFO_S();
NetDEVSDKLib.NETDEV_SELOG_INFO_S stSELogInfo = new NetDEVSDKLib.NETDEV_SELOG_INFO_S();
-// System.arraycopy(userName.getBytes(), 0, stDevLoginInfo.szUserName, 0, userName.getBytes().length);
-// System.arraycopy(password.getBytes(), 0, stDevLoginInfo.szPassword, 0, password.getBytes().length);
-// System.arraycopy(ip.getBytes(), 0, stDevLoginInfo.szIPAddr, 0, ip.getBytes().length);
- stDevLoginInfo.szUserName = userName.getBytes();
- stDevLoginInfo.szPassword = password.getBytes();
- stDevLoginInfo.szIPAddr = ip.getBytes();
+ System.arraycopy(userName.getBytes(), 0, stDevLoginInfo.szUserName, 0, userName.getBytes().length);
+ System.arraycopy(password.getBytes(), 0, stDevLoginInfo.szPassword, 0, password.getBytes().length);
+ System.arraycopy(ip.getBytes(), 0, stDevLoginInfo.szIPAddr, 0, ip.getBytes().length);
stDevLoginInfo.dwPort = 80;
//鐧诲綍鍗忚
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;
- log.info("SDK浼犲弬ip:{},鐢ㄦ埛:{}锛屽瘑鐮�:{}",stDevLoginInfo.szIPAddr,stDevLoginInfo.szUserName,stDevLoginInfo.szPassword);
- Pointer lpUserID = YSInit.netdevsdk.NETDEV_Login_V30(stDevLoginInfo, stSELogInfo);
+ Pointer lpUserID = YSInit.netdevsdk.NETDEV_Login_V30(stDevLoginInfo, stSELogInfo);
+ if (lpUserID != null) {
+ OSDResult osdResult = new OSDResult();
+ //鑾峰彇閫氶亾
+ int nMaxChlCount = 256;
+ IntByReference dwChlCount = new IntByReference(nMaxChlCount);
+ NetDEVSDKLib.NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[] stVideoChlList = (NetDEVSDKLib.NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[]) new NetDEVSDKLib.NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S().toArray(nMaxChlCount);
+ boolean bRe = YSInit.netdevsdk.NETDEV_QueryVideoChlDetailListEx(lpUserID, dwChlCount, stVideoChlList);
+ if (!bRe) {
+ log.error("error code" + YSInit.netdevsdk.NETDEV_GetLastError());
+ return null;
+ }
+ //鑾峰彇鏃堕棿
+ NetDEVSDKLib.NETDEV_TIME_CFG_S stTimeCfg = new NetDEVSDKLib.NETDEV_TIME_CFG_S();
+ stTimeCfg.write();
+ boolean bRetime = NetDemo.netdevsdk.NETDEV_GetSystemTimeCfg(lpUserID, stTimeCfg);
+ if (!bRetime) {
+ log.error("error code" + YSInit.netdevsdk.NETDEV_GetLastError());
+ return null;
+ } else {
+ stTimeCfg.read();
+ String strTime = "" + stTimeCfg.stTime.dwYear + "-";
+ if (stTimeCfg.stTime.dwMonth < 10) {
+ strTime += "0";
+ }
+ strTime = strTime + stTimeCfg.stTime.dwMonth + "-";
+ if (stTimeCfg.stTime.dwDay < 10) {
+ strTime += "0";
+ }
+ strTime = strTime + stTimeCfg.stTime.dwDay + " ";
+ if (stTimeCfg.stTime.dwHour < 10) {
+ strTime += "0";
+ }
+ strTime = strTime + stTimeCfg.stTime.dwHour + ":";
+ if (stTimeCfg.stTime.dwMinute < 10) {
+ strTime += "0";
+ }
+ strTime = strTime + stTimeCfg.stTime.dwMinute + ":";
- log.info("鐧诲綍杩斿洖id:{}",lpUserID);
- if(lpUserID !=null) {
- log.info("鐧诲綍鎴愬姛");
+ if (stTimeCfg.stTime.dwSecond < 10) {
+ strTime += "0";
+ }
+ strTime = strTime + stTimeCfg.stTime.dwSecond;
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ osdResult.setOsdTime(format.parse(strTime));
+ } catch (Exception e) {
+ log.error(ip + "鏃堕棿瑙f瀽鏈夎");
+ }
+ }
//鑾峰彇osd
NetDEVSDKLib.NETDEV_VIDEO_OSD_CFG_S stOSDInfo = new NetDEVSDKLib.NETDEV_VIDEO_OSD_CFG_S();
stOSDInfo.write();
IntByReference dwBytesReturned = new IntByReference();
- boolean bRet = YSInit.netdevsdk.NETDEV_GetDevConfig(lpUserID, 0, NetDEVSDKLib.NETDEV_CONFIG_COMMAND_E.NETDEV_GET_OSDCFG, stOSDInfo.getPointer(), 616, dwBytesReturned);
+ boolean bRet = YSInit.netdevsdk.NETDEV_GetDevConfig(lpUserID, stVideoChlList[0].dwChannelID, NetDEVSDKLib.NETDEV_CONFIG_COMMAND_E.NETDEV_GET_OSDCFG, stOSDInfo.getPointer(), 616, dwBytesReturned);
if (!bRet) {
- log.error("error code"+YSInit.netdevsdk.NETDEV_GetLastError());
+ log.error("error code" + YSInit.netdevsdk.NETDEV_GetLastError());
return null;
}
stOSDInfo.read();
+ //鐪佷唤
+ String name = new String(stOSDInfo.stNameOSD.szOSDText, StandardCharsets.UTF_8);
+ osdResult.setOSD1(name);
+ int num = 0;
for (NetDEVSDKLib.NETDEV_OSD_TEXT_OVERLAY_S osd : stOSDInfo.astTextOverlay) {
- String text = new String(osd.szOSDText, StandardCharsets.UTF_8);
- log.info("text:" + text);
+ String text = new String(osd.szOSDText, StandardCharsets.UTF_8).trim();
+ if (num == 0) {
+ osdResult.setOSD2(text);
+ } else if (num == 1) {
+ osdResult.setOSD3(text);
+ } else if (num == 2) {
+ osdResult.setName(text);
+ } else if (num == 3) {
+ osdResult.setOSD4(text);
+ }
+ num++;
}
//鐧诲嚭
YSInit.netdevsdk.NETDEV_Logout(lpUserID);
- }else {
- log.error("error code"+YSInit.netdevsdk.NETDEV_GetLastError());
+ return osdResult;
+ } else {
+ log.error("error code" + YSInit.netdevsdk.NETDEV_GetLastError());
}
return null;
}
- public static void demo(){
+
+ public static void demo() {
Login.loginIn();
}
}
diff --git a/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java b/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java
index 22fc161..8adbfad 100644
--- a/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java
+++ b/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java
@@ -10,6 +10,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
+import javax.swing.*;
import java.io.File;
@Component
@@ -47,6 +48,14 @@
file.mkdir();
}
+ NetDEVSDKLib.NETDEV_REV_TIMEOUT_S pstRevTimeout=new NetDEVSDKLib.NETDEV_REV_TIMEOUT_S();
+ pstRevTimeout.dwRevTimeOut=2;
+ pstRevTimeout.dwFileReportTimeOut=30;
+ pstRevTimeout.write();
+ boolean rbet1=netdevsdk.NETDEV_SetRevTimeOut(pstRevTimeout);
+ boolean rbet2=netdevsdk.NETDEV_SetConnectTime(2, 1);
+
+
}
}
@PreDestroy
diff --git a/ycl-server/src/main/java/com/ycl/api/YS/lib/NetDEVSDKLib.java b/ycl-server/src/main/java/com/ycl/api/YS/lib/NetDEVSDKLib.java
index a14bc35..8ac6b23 100644
--- a/ycl-server/src/main/java/com/ycl/api/YS/lib/NetDEVSDKLib.java
+++ b/ycl-server/src/main/java/com/ycl/api/YS/lib/NetDEVSDKLib.java
@@ -4,7 +4,6 @@
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
-
import com.sun.jna.Structure;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.LongByReference;
@@ -130,7 +129,7 @@
* @brief 璁惧鐧诲綍淇℃伅
* @attention
*/
- @Structure.FieldOrder({"byRes", "dwDeviceType" ,"dwLoginProto","dwPort","szIPAddr","szPassword","szUserName"})
+ @Structure.FieldOrder({"szIPAddr", "dwPort" ,"szUserName","szPassword","dwLoginProto","dwDeviceType","byRes"})
public class NETDEV_DEVICE_LOGIN_INFO_S extends Structure
{
public byte[] szIPAddr = new byte[NETDEV_LEN_260]; /* IP鍦板潃/鍩熷悕 */
@@ -147,7 +146,7 @@
* @brief 瀹夊叏鐧诲綍淇℃伅
* @attention
*/
- @Structure.FieldOrder({"byRes", "dwSELogCount","dwSELogTime"})
+ @Structure.FieldOrder({"dwSELogCount", "dwSELogTime","byRes"})
public class NETDEV_SELOG_INFO_S extends Structure {
public int dwSELogCount; /* 瀹夊叏鐧诲綍娆℃暟 */
public int dwSELogTime; /* 瀹夊叏鐧诲綍鏃堕棿 */
@@ -4962,6 +4961,8 @@
* @brief 瑙嗛閫氶亾璇︾粏淇℃伅 缁撴瀯浣撳畾涔� Structure definition
* @attention 鏃� None
*/
+ @Structure.FieldOrder({"dwChannelID","bPtzSupported","enStatus","dwStreamNum","enChannelType","enVideoFormat","enAddressType", "szIPAddr","dwPort",
+ "szChnName","allowDistribution","dwDeviceType","szManufacturer","szDeviceModel","udwAccessProtocol","pstExtendedInformation","byRes"})
public class NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S extends Structure {
public int dwChannelID; /* 閫氶亾ID Channel ID */
public int bPtzSupported; /* 鏄惁鏀寔浜戝彴 Whether ptz is supported */
@@ -5232,6 +5233,7 @@
* @brief 瓒呮椂鏃堕棿 缁撴瀯浣撳畾涔� Timeout structure definition
* @attention
*/
+ @Structure.FieldOrder({"dwRevTimeOut", "dwFileReportTimeOut","byRes"})
public class NETDEV_REV_TIMEOUT_S extends Structure {
public int dwRevTimeOut; /* 璁剧疆鎺ユ敹瓒呮椂鏃堕棿 Set timeout for receiving */
public int dwFileReportTimeOut; /* 璁剧疆鏂囦欢鎿嶄綔瓒呮椂鏃堕棿 Set timeout for file operation */
@@ -5988,7 +5990,7 @@
* @brief OSD鏃堕棿閰嶇疆淇℃伅 OSD time configuration information
* @attention 鏃� None
*/
- @Structure.FieldOrder({"bEnableFlag", "bWeekEnableFlag","stAreaScope","udwDateFormat","udwTimeFormat"})
+ @Structure.FieldOrder({"bEnableFlag", "bWeekEnableFlag","stAreaScope","udwTimeFormat","udwDateFormat"})
public class NETDEV_OSD_TIME_S extends Structure {
public int bEnableFlag; /** 鏃堕棿OSD浣胯兘, BOOL_TRUE涓轰娇鑳�,BOOL_FALSE涓洪潪浣胯兘 * Enable time OSD, BOOL_TRUE means enable and BOOL_FALSE means disable */
public int bWeekEnableFlag; /** 鏄惁鏄剧ず鏄熸湡(棰勭暀) * Display week or not (reserved) */
@@ -6005,7 +6007,7 @@
* @brief OSD瀛楃鍙犲姞淇℃伅 OSD text overlay information
* @attention
*/
- @Structure.FieldOrder({"bEnableFlag", "byRes","stAreaScope","szOSDText"})
+ @Structure.FieldOrder({"bEnableFlag", "stAreaScope","szOSDText","byRes"})
public class NETDEV_OSD_TEXT_OVERLAY_S extends Structure {
public int bEnableFlag; /** OSD瀛楃鍙犲姞浣胯兘, BOOL_TRUE涓轰娇鑳�,BOOL_FALSE涓洪潪浣胯兘 * Enable OSD text overlay, BOOL_TRUE means enable and BOOL_FALSE means disable */
public NETDEV_AREA_SCOPE_S stAreaScope; /** OSD瀛楃鍙犲姞鍖哄煙鍧愭爣 * OSD text overlay area coordinates */
@@ -6020,7 +6022,7 @@
* @brief 閫氶亾OSD鐨勫熀鏈睘鎬т俊鎭� Basic channel OSD information
* @attention
*/
- @Structure.FieldOrder({"astTextOverlay", "stNameOSD","stTimeOSD","wTextNum"})
+ @Structure.FieldOrder({"stTimeOSD", "stNameOSD","wTextNum","astTextOverlay"})
public class NETDEV_VIDEO_OSD_CFG_S extends Structure {
public NETDEV_OSD_TIME_S stTimeOSD; /* 閫氶亾鐨勬椂闂碠SD淇℃伅 Information of channel time OSD */
public NETDEV_OSD_TEXT_OVERLAY_S stNameOSD; /* 閫氶亾鐨勫悕绉癘SD淇℃伅 Information of channel name OSD */
@@ -7177,6 +7179,7 @@
* @brief 鏃堕棿閰嶇疆 缁撴瀯浣撳畾涔� Time configuration structure definition
* @attention
*/
+ @Structure.FieldOrder({"dwMonth", "dwWeekInMonth" ,"dwDayInWeek","dwHour"})
public class NETDEV_TIME_DST_S extends Structure{
public int dwMonth; /* 鏈�(1~12) Month(1~12)*/
public int dwWeekInMonth; /* 姣忔湀鐨勭N鍛紙1~5锛� 1 for the first week and 5 for the last week in the month */
@@ -7188,6 +7191,7 @@
* @brief 鏃堕棿閰嶇疆 缁撴瀯浣撳畾涔� Time configuration structure definition
* @attention
*/
+ @Structure.FieldOrder({"stBeginTime", "stEndTime" ,"dwOffsetTime"})
public class NETDEV_TIME_DST_CFG_S extends Structure{
public NETDEV_TIME_DST_S stBeginTime; /* 澶忎护鏃跺紑濮嬫椂闂� 鍙傝鏋氫妇#NETDEV_TIME_DST_S DST begin time see enumeration NETDEV_TIME_DST_S */
public NETDEV_TIME_DST_S stEndTime; /* 澶忎护鏃剁粨鏉熸椂闂� 鍙傝鏋氫妇#NETDEV_TIME_DST_S DST end time see enumeration NETDEV_TIME_DST_S */
@@ -7198,6 +7202,7 @@
* @brief 鏃堕棿鍙傛暟 缁撴瀯浣撳畾涔� Time parameter Structure definition
* @attention 鏃� None
*/
+ @Structure.FieldOrder({"dwYear", "dwMonth" ,"dwDay","dwHour","dwMinute","dwSecond"})
public class NETDEV_TIME_S extends Structure{
public int dwYear; /* 骞� Year */
public int dwMonth; /* 鏈� Month */
@@ -7211,6 +7216,7 @@
* @brief 鏃堕棿閰嶇疆 缁撴瀯浣撳畾涔� Time configuration structure definition
* @attention
*/
+ @Structure.FieldOrder({"dwTimeZone", "stTime" ,"bEnableDST","stTimeDSTCfg","udwDateFormat","udwHourFormat","byRes"})
public class NETDEV_TIME_CFG_S extends Structure{
public int dwTimeZone; /* 鏃跺尯 鍙傝鏋氫妇# NETDEV_TIME_ZONE_E Time zone, see enumeration #NETDEV_TIME_ZONE_E */
public NETDEV_TIME_S stTime; /* 鏃堕棿 Time */
@@ -10904,6 +10910,7 @@
* @return TRUE琛ㄧず鎴愬姛,鍏朵粬琛ㄧず澶辫触 TRUE means success, and any other value means failure.
* @note
*/
+
public boolean NETDEV_SetConnectTime(int dwWaitTime, int dwTrytimes);
/**
diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
index 5446079..4d89129 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -102,10 +102,12 @@
public BigDecimal viewConnectStability(Map<String, Object> param) {
BigDecimal totalDataSum = new BigDecimal((Integer) param.get("totalDataSum"));
BigDecimal avgCount = (BigDecimal) param.get("avgCount");
+ log.info("瑙嗗浘搴撳鎺ョǔ瀹氭�э紝totalDataSum锛歿}锛宎vgCount锛歿}",totalDataSum,avgCount);
return BigDecimal.ZERO.compareTo(totalDataSum) == 0 ? BigDecimal.ZERO : avgCount.divide(totalDataSum, 4, RoundingMode.HALF_UP);
}
//鏍囨敞姝g‘鐜�
+
public BigDecimal infoAccuracy(Map<String, Object> param) {
BigDecimal totalSitesCount = new BigDecimal((Integer) param.get("totalSites"));
BigDecimal qualifySiteCount = new BigDecimal((Integer) param.get("qualifySite"));
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
index f3b4c57..5293a90 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
@@ -101,7 +101,7 @@
@GetMapping("/list")
@ApiOperation(value = "鍒楄〃", notes = "鍒楄〃")
- @PreAuthorize("@ss.hasPermi('point:list')")
+// @PreAuthorize("@ss.hasPermi('point:list')")
public Result list() {
return ywPointService.all();
}
diff --git a/ycl-server/src/main/java/com/ycl/task/OsdTask.java b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
index f2c565a..ae12191 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -4,6 +4,7 @@
import com.mongodb.client.result.DeleteResult;
import com.ycl.api.DH.utils.DHApi;
import com.ycl.api.HK.HKApi;
+import com.ycl.api.YS.YSApi;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.result.OSDResult;
import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
@@ -65,7 +66,6 @@
*/
public void getOSD() {
log.info("寮�濮嬭幏鍙朞SD");
-// YSApi.getOsd("51.95.66.42",YSUserName,YSPassword);
//鎵归噺淇敼娴峰悍鍝佺墝闆嗗悎
List<String> hkList = new ArrayList<>();
//鎵归噺淇敼澶у崕鍝佺墝闆嗗悎
@@ -92,21 +92,26 @@
for (TMonitor monitor : monitors) {
executorService.submit(() -> {
if (DeviceType.HK.getType().equals(monitor.getDeviceType())) {
- //娴峰悍鍝佺墝
+ //娴峰悍
OSDResult osd = HKApi.getOsdByIP(monitor.getIp(), HKUserName, HKPassword);
if (checkSuccess(osdResultList, monitor, osd)) {
log.info("娴峰悍璋冪敤鎴愬姛" + osd);
return;
}
} else if (DeviceType.DH.getType().equals(monitor.getDeviceType())) {
- //澶у崕鍝佺墝
+ //澶у崕
OSDResult osd = DHApi.getOsd(monitor.getIp(), DHUserName, DHPassword);
if (checkSuccess(osdResultList, monitor, osd)) {
log.info("澶у崕璋冪敤鎴愬姛" + osd);
return;
}
} else if (DeviceType.YS.getType().equals(monitor.getDeviceType())) {
- //TODO锛氬畤瑙哸pi
+ //瀹囪
+ OSDResult osd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword);
+ if (checkSuccess(osdResultList, monitor, osd)) {
+ log.info("瀹囪璋冪敤鎴愬姛" + osd);
+ return;
+ }
}
//鏈煡鍝佺墝鎴栬�卆pi璋冪敤澶辫触锛屾尐涓墽琛屾墍鏈塧pi
OSDResult osd = tryAllApi(monitor, hkList, dhList, ysList);
@@ -155,14 +160,14 @@
}
//淇敼鏁版嵁搴撳搧鐗�
if (!CollectionUtils.isEmpty(hkList)) {
- log.info("淇敼鍝佺墝");
monitorMapper.batchUpdateDeviceType(hkList, DeviceType.HK.getType());
}
if (!CollectionUtils.isEmpty(dhList)) {
- log.info("淇敼鍝佺墝");
monitorMapper.batchUpdateDeviceType(dhList, DeviceType.DH.getType());
}
- //TODO:瀹囪
+ if (!CollectionUtils.isEmpty(ysList)) {
+ monitorMapper.batchUpdateDeviceType(ysList, DeviceType.YS.getType());
+ }
}
log.info("缁撴潫鑾峰彇OSD");
}
@@ -195,16 +200,11 @@
}
}
//妫�鏌ラ�氶亾鍚嶆槸鍚︽纭�
- //TODO:鏍¢獙瑙勫垯锛岃繖閲屾殏鏃朵笉姣旇緝鍏ㄦ櫙鍜岀粏鑺備袱瀛椼��
+ //鏍¢獙瑙勫垯锛岃繖閲屾殏鏃朵笉姣旇緝鍏ㄦ櫙鍜岀粏鑺備袱瀛椼��
if (!StringUtils.isEmpty(osdResult.getName()) && !StringUtils.isEmpty(monitor.getName())) {
if (monitor.getName().equals(osdResult.getName()) || monitor.getName().replace("鍏ㄦ櫙","缁嗚妭").equals(osdResult.getName()) || monitor.getName().replace("缁嗚妭","鍏ㄦ櫙").equals(osdResult.getName())) {
- //OSD4鍜�5閮藉彲鑳戒负鍚嶅瓧銆佹瘮杈冨叾涓竴鏉℃纭嵆鍙紝姝g‘浜嗘敼涓烘纭悕瀛�
osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct);
osdCheckResult.setOsdName(osdResult.getName());
- }else if (monitor.getName().equals(osdResult.getName2()) || monitor.getName().replace("鍏ㄦ櫙","缁嗚妭").equals(osdResult.getName2()) || monitor.getName().replace("缁嗚妭","鍏ㄦ櫙").equals(osdResult.getName2())) {
- //OSD4鍜�5閮藉彲鑳戒负鍚嶅瓧銆佹瘮杈冨叾涓竴鏉℃纭嵆鍙紝姝g‘浜嗘敼涓烘纭悕瀛�
- osdCheckResult.setOsdName(osdResult.getName2());
- osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct);
}else {
osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Error);
}
@@ -269,7 +269,16 @@
}
return dhosd;
}
- //TODO锛氬畤瑙哸pi
+ //瀹囪api
+ OSDResult ysosd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword);
+ if (ysosd != null) {
+ ysosd.setSerialNumber(monitor.getSerialNumber());
+ log.info("瀹囪璋冪敤鎴愬姛"+ysosd);
+ synchronized (ysList) {
+ ysList.add(monitor.getSerialNumber());
+ }
+ return ysosd;
+ }
return null;
}
}
diff --git a/ycl-server/src/main/java/com/ycl/task/VideoTask.java b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
index b559d09..a5d1da3 100644
--- a/ycl-server/src/main/java/com/ycl/task/VideoTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -89,7 +89,8 @@
calculator.calculate(tMonitorVOS);
log.info("缁撴潫璁$畻涓�鏈轰竴妗f敞鍐岀巼銆佹。妗堣�冩牳姣�");
}
- public void oneMonitorQualifyTask(){
+
+ public void oneMonitorQualifyTask() {
log.info("寮�濮嬭绠椾竴鏈轰竴妗e悎鏍肩巼");
//璁$畻涓�鏈轰竴妗e悎鏍肩巼
Date yesterday = DateUtils.addDays(new Date(), -1);
@@ -101,6 +102,7 @@
calculator.calculate(results);
log.info("缁撴潫璁$畻涓�鏈轰竴妗e悎鏍肩巼");
}
+
public void platformOnlineTask() {
log.info("寮�濮嬭绠楀钩鍙板湪绾跨巼");
//璁$畻骞冲彴鍦ㄧ嚎鐜�
@@ -109,6 +111,7 @@
calculator.calculate(list);
log.info("缁撴潫璁$畻骞冲彴鍦ㄧ嚎鐜�");
}
+
public void osdTask() {
log.info("寮�濮嬭绠桹sd鏍囨敞銆佹椂闂村噯纭巼");
//璁$畻Osd鏍囨敞銆佹椂闂村噯纭巼
@@ -125,6 +128,7 @@
/**
* 瑙嗛鍥惧儚璧勬簮瀹夊叏锛岄渶瑕佹帓鍦ㄥ钩鍙板湪绾跨巼鍚庨潰銆�
*/
+ //鎵嬪姩鎵撳垎鍙栨渶杩戞暟鎹紝鍓嶇椤甸潰鍔犳墦鍒嗚鍒欐彁绀�
@Transactional
public void videoSecurity() {
ArrayList<ImageResourceSecurity> imageResourceSecurities = new ArrayList<>();
@@ -151,14 +155,20 @@
count++;
}
}
- imageResourceSecurity.setWeakPassword(BigDecimal.valueOf(score).divide(new BigDecimal(100),4, RoundingMode.HALF_UP));
+ imageResourceSecurity.setWeakPassword(BigDecimal.valueOf(score).divide(new BigDecimal(100), 4, RoundingMode.HALF_UP));
// 鑾峰彇瀛楀吀鍊�-鎬绘暟
int onlineAssetsTotal = Integer.parseInt(DictUtils.getDictValue("online_assets_total", checkIndexVideo.getDeptName()));
imageResourceSecurity.setRiskProperty(BigDecimal.valueOf(count / onlineAssetsTotal));
imageResourceSecurity.setCreateTime(DateUtils.getNowDate());
imageResourceSecurities.add(imageResourceSecurity);
// 鏇存柊鎸囨爣鏁版嵁
- checkIndexVideo.setImageResourceSecurity(imageResourceSecurity.getPlatformOnline().add(imageResourceSecurity.getPropertyAccuracy().add(imageResourceSecurity.getWeakPassword().add(imageResourceSecurity.getRiskProperty()))).multiply(NUM));
+ checkIndexVideo.setImageResourceSecurity(
+ imageResourceSecurity.getPlatformOnline()
+ .add(imageResourceSecurity.getPropertyAccuracy()
+ .add(imageResourceSecurity.getWeakPassword()
+ .add(imageResourceSecurity.getRiskProperty()))).multiply(NUM)
+ .add(imageResourceSecurity.getBoundaryIntegrity()).multiply(new BigDecimal("0.45"))
+ );
checkIndexVideoMapper.updateById(checkIndexVideo);
}
imageResourceSecurityService.saveBatch(imageResourceSecurities);
--
Gitblit v1.8.0