fuliqi
2024-09-02 bb4c01a00c8203fdadf38aca9290227f6682655f
ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
@@ -35,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;
@@ -120,7 +114,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();
@@ -129,18 +123,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;
    }
    /**
@@ -150,24 +146,16 @@
     * 登出设备
     * \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 OSDResult getOsd() {
    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)) {
            log.error("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();
@@ -179,15 +167,15 @@
            Date time = simpleDateFormat.parse(date);
            osdResult.setOsdTime(time);
        } catch (ParseException e) {
            log.error("时间解析失败");
//            log.error("时间解析失败");
        }
        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.error("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint());
//            log.error("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint());
            return null;
        } else {
            osdInfo.read();
@@ -198,7 +186,7 @@
                    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);
                        osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim();
                        if (!StringUtils.isEmpty(osdStr)) {
                            osdResult.setOSD4(osdStr);
                        }
@@ -208,7 +196,7 @@
                    int num = 0;
                    for (NET_TITLE_OSD_INFO osd : stuOSD) {
                        String osdStr = null;
                        osdStr = new String(osd.szText, StandardCharsets.UTF_8);
                        osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim();
                        if (!StringUtils.isEmpty(osdStr)) {
                            if(num ==0){
                                osdResult.setOSD1(osdStr);