From b14531e3b850fe6d2fa916ba7b88b3e2bd2ff30a Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 11 九月 2024 16:47:48 +0800 Subject: [PATCH] OSD加标签 --- ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java | 107 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 66 insertions(+), 41 deletions(-) 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 5ad0cbb..ffcae92 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 @@ -9,13 +9,18 @@ import com.ycl.api.DH.lib.NetSDKLib.NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY; import com.ycl.api.DH.lib.ToolKits; import com.ycl.api.DH.lib.structure.*; +import com.ycl.platform.domain.result.OSDResult; import com.ycl.utils.StringUtils; +import enumeration.DeviceType; import lombok.extern.slf4j.Slf4j; import java.io.File; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Arrays; +import java.util.Date; import static com.ycl.api.DH.lib.NetSDKLib.NET_EM_OSD_BLEND_TYPE.NET_EM_OSD_BLEND_TYPE_MAIN; import static com.ycl.api.DH.lib.enumeration.NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_CUSTOMTITLE; @@ -30,12 +35,6 @@ public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE; public static NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE; - - // 璁惧淇℃伅 - public static NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex(); - - // 鐧婚檰鍙ユ焺 - public static LLong m_hLoginHandle = new LLong(0); private static boolean bInit = false; private static boolean bLogopen = false; @@ -76,7 +75,7 @@ netsdk.CLIENT_SetAutoReconnect(haveReConnect, null); //璁剧疆鐧诲綍瓒呮椂鏃堕棿鍜屽皾璇曟鏁帮紝鍙�� - int waitTime = 5000; //鐧诲綍璇锋眰鍝嶅簲瓒呮椂鏃堕棿璁剧疆涓�5S + int waitTime = 3000; //鐧诲綍璇锋眰鍝嶅簲瓒呮椂鏃堕棿璁剧疆涓�5S int tryTimes = 1; //鐧诲綍鏃跺皾璇曞缓绔嬮摼鎺�1娆� netsdk.CLIENT_SetConnectTime(waitTime, tryTimes); @@ -84,7 +83,7 @@ // 璁剧疆鏇村缃戠粶鍙傛暟锛孨ET_PARAM鐨刵Waittime锛宯ConnectTryNum鎴愬憳涓嶤LIENT_SetConnectTime // 鎺ュ彛璁剧疆鐨勭櫥褰曡澶囪秴鏃舵椂闂村拰灏濊瘯娆℃暟鎰忎箟鐩稿悓,鍙�� NetSDKLib.NET_PARAM netParam = new NetSDKLib.NET_PARAM(); - netParam.nConnectTime = 10000; // 鐧诲綍鏃跺皾璇曞缓绔嬮摼鎺ョ殑瓒呮椂鏃堕棿 + netParam.nConnectTime = 3000; // 鐧诲綍鏃跺皾璇曞缓绔嬮摼鎺ョ殑瓒呮椂鏃堕棿 netParam.nGetConnInfoTime = 3000; // 璁剧疆瀛愯繛鎺ョ殑瓒呮椂鏃堕棿 netParam.nGetDevInfoTime = 3000;//鑾峰彇璁惧淇℃伅瓒呮椂鏃堕棿锛屼负0榛樿1000ms netsdk.CLIENT_SetNetworkParam(netParam); @@ -116,7 +115,7 @@ * 鐧诲綍璁惧 * \endif */ - public static long login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) { + public static LLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) { //IntByReference nError = new IntByReference(0); //鍏ュ弬 NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY pstInParam = new NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY(); @@ -125,18 +124,20 @@ pstInParam.szPassword = m_strPassword.getBytes(); pstInParam.szUserName = m_strUser.getBytes(); //鍑哄弬 + //璁惧淇℃伅 + NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex(); NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY pstOutParam = new NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY(); pstOutParam.stuDeviceInfo = m_stDeviceInfo; - //m_hLoginHandle = netsdk.CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser, m_strPassword, 0, null, m_stDeviceInfo, nError); + // 鐧婚檰鍙ユ焺 + LLong m_hLoginHandle = new LLong(0); m_hLoginHandle = netsdk.CLIENT_LoginWithHighLevelSecurity(pstInParam, pstOutParam); if (m_hLoginHandle.longValue() == 0) { - System.err.printf("Login Device[%s] Port[%d]Failed. %s\n", m_strIp, m_nPort, ToolKits.getErrorCodePrint()); +// System.err.printf("Login Device[%s] Port[%d]Failed. %s\n", m_strIp, m_nPort, ToolKits.getErrorCodePrint()); } else { - System.out.println("Login Success [ " + m_strIp + " ]"); - log.info("鐧诲綍鎴愬姛"); +// System.out.println("Login Success [ " + m_strIp + " ]"); +// log.info("鐧诲綍鎴愬姛"); } - - return m_hLoginHandle.longValue(); + return m_hLoginHandle; } /** @@ -146,53 +147,77 @@ * 鐧诲嚭璁惧 * \endif */ - public static boolean logout() { - if (m_hLoginHandle.longValue() == 0) { - return false; - } - - boolean bRet = netsdk.CLIENT_Logout(m_hLoginHandle); - if (bRet) { - m_hLoginHandle.setValue(0); - } - + public static boolean logout(LLong loginId) { + boolean bRet = netsdk.CLIENT_Logout(loginId); return bRet; } - public static String getOsdTime() { + public static OSDResult getOsd(LLong loginId) { + OSDResult osdResult = new OSDResult(); NetSDKLib.NET_TIME deviceTime = new NetSDKLib.NET_TIME(); - - if (!netsdk.CLIENT_QueryDeviceTime(m_hLoginHandle, deviceTime, 3000)) { - System.err.println("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint()); + if (!netsdk.CLIENT_QueryDeviceTime(loginId, deviceTime, 3000)) { +// log.error("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint()); return null; } + Date checkTime = new Date(); + osdResult.setCheckTime(checkTime); String date = deviceTime.toStringTime(); date = date.replace("/", "-"); - log.info("鎴愬姛鑾峰彇妫�娴媜sd鏃堕棿" + date); - + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + Date time = simpleDateFormat.parse(date); + osdResult.setOsdTime(time); + } catch (ParseException e) { +// log.error("鏃堕棿瑙f瀽澶辫触"); + } NET_CFG_GBMODE_INFO reserve = new NET_CFG_GBMODE_INFO(); NET_CFG_GBMODE_INFO osdInfo = new NET_CFG_GBMODE_INFO(); osdInfo.write(); - boolean b = netsdk.CLIENT_GetConfig(m_hLoginHandle, NET_EM_CFG_GBMODE, 0, osdInfo.getPointer(), osdInfo.size(), 3000, reserve.getPointer()); + boolean b = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_GBMODE, 0, osdInfo.getPointer(), osdInfo.size(), 3000, reserve.getPointer()); if (!b) { - log.info(("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint())); +// log.error("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint()); + return null; } else { osdInfo.read(); NET_GBMODE_CUSTOMTITLE_INFO[] stuCustomTitle = osdInfo.stuCustomTitle; for (NET_GBMODE_CUSTOMTITLE_INFO title : stuCustomTitle) { - NET_TITLE_OSD_INFO[] stuOSD = title.stuOSD; - for (NET_TITLE_OSD_INFO osd : stuOSD) { - String osdStr = null; - osdStr = new String(osd.szText, StandardCharsets.UTF_8); - if (!StringUtils.isEmpty(osdStr)) { - log.info("osd浜岀骇鏂囨湰" + osdStr); + String position = new String(title.szPositon, StandardCharsets.UTF_8).trim(); + if("LeftDown".equals(position)) { + NET_TITLE_OSD_INFO[] stuOSD = title.stuOSD; + for (NET_TITLE_OSD_INFO osd : stuOSD) { + String osdStr = null; + osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim(); +// log.info("TEXT锛�"+osdStr); + if (!StringUtils.isEmpty(osdStr)) { + osdResult.setOSD4(osdStr); + } + } + }else if("RightDown".equals(position)){ + NET_TITLE_OSD_INFO[] stuOSD = title.stuOSD; + int num = 0; + for (NET_TITLE_OSD_INFO osd : stuOSD) { + String osdStr = null; + osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim(); +// log.info("TEXT锛�"+osdStr); + if (!StringUtils.isEmpty(osdStr)) { + if(num ==0){ + osdResult.setOSD1(osdStr); + }else if(num ==1){ + osdResult.setOSD2(osdStr); + }else if(num ==2){ + osdResult.setOSD3(osdStr); + }else if(num ==3){ + osdResult.setName(osdStr); + } + } + num++; } } } } - - return date; + osdResult.setDeviceBrand(DeviceType.DH.getType()); + return osdResult; } } -- Gitblit v1.8.0