数据库新增和测温数据

master
liuguijing 1 year ago
parent e4a7c18a8a
commit 302472473f

@ -101,11 +101,7 @@
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jna</groupId>
<artifactId>examples</artifactId>
<version>1.0</version>
</dependency>
<!--lombok-->
<dependency>
@ -120,6 +116,18 @@
<version>3.0.9</version>
</dependency>
<dependency>
<groupId>com.sun.jna</groupId>
<artifactId>examples</artifactId>
<version>1.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>net.java.dev.jna</groupId>-->
<!-- <artifactId>jna</artifactId>-->
<!-- <version>3.4.0</version>-->
<!-- </dependency>-->
<!-- 引入log4j2依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
@ -140,6 +148,15 @@
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- <resources>-->
<!-- <resource>-->
<!-- <directory>src/main/java</directory>-->
<!-- <includes>-->
<!-- <include>**/*.xml</include>-->
<!-- </includes>-->
<!-- <filtering>false</filtering>-->
<!-- </resource>-->
<!-- </resources>-->
</build>
</project>

@ -0,0 +1,37 @@
package com.shxy.xyhkcamera;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
@Configuration
@EnableAsync
public class TaskPoolConfig {
@Bean("syncExecutorPool")
public Executor taskExecutor() {
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
// 核心池大小
taskExecutor.setCorePoolSize(5);
// 最大线程数
taskExecutor.setMaxPoolSize(10);
// 队列程度
taskExecutor.setQueueCapacity(100);
// 线程空闲时间
taskExecutor.setKeepAliveSeconds(60);
// 线程前缀名称
taskExecutor.setThreadNamePrefix("syncExecutor--");
// 该方法用来设置 线程池关闭 的时候 等待 所有任务都完成后,再继续 销毁 其他的 Bean
// 这样这些 异步任务 的 销毁 就会先于 数据库连接池对象 的销毁。
taskExecutor.setWaitForTasksToCompleteOnShutdown(true);
// 任务的等待时间 如果超过这个时间还没有销毁就 强制销毁,以确保应用最后能够被关闭,而不是阻塞住。
taskExecutor.setAwaitTerminationSeconds(300);
// 线程不够用时由调用的线程处理该任务
taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
return taskExecutor;
}
}

@ -1,858 +0,0 @@
//package com.shxy.xyhkcamera;
//
//import com.sun.jna.Native;
//import com.sun.jna.NativeLong;
//import com.sun.jna.Pointer;
//import com.sun.jna.ptr.IntByReference;
//
//import java.io.IOException;
//import java.io.UnsupportedEncodingException;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//
///**
// * @create 2020-07-27-10:42
// */
//public class TestDemo {
// static HCNetSDK hCNetSDK = null;
// static int lUserID = -1; //用户句柄
// public static flowTestcallback flowcallback;
// public static dev_work_state_cb workStateCb;
// public static FExceptionCallBack_Imp fExceptionCallBack;
//
// static class dev_work_state_cb implements HCNetSDK.DEV_WORK_STATE_CB {
// public boolean invoke(Pointer pUserdata, int iUserID, HCNetSDK.NET_DVR_WORKSTATE_V40 lpWorkState) {
//
// lpWorkState.read();
// System.out.println("设备状态:" + lpWorkState.dwDeviceStatic);
// for (int i = 0; i < HCNetSDK.MAX_CHANNUM_V40; i++) {
// int channel = i + 1;
// System.out.println("第" + channel + "通道是否在录像:" + lpWorkState.struChanStatic[i].byRecordStatic);
// }
// return true;
// }
//
// }
//
// static class FExceptionCallBack_Imp implements HCNetSDK.FExceptionCallBack {
// public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
// System.out.println("异常事件类型:" + dwType);
// return;
// }
// }
//
// static class flowTestcallback implements HCNetSDK.FLOWTESTCALLBACK {
// public void invoke(int lFlowHandle, HCNetSDK.NET_DVR_FLOW_INFO pFlowInfo,
// Pointer pUser) {
// pFlowInfo.read();
// System.out.println("发送的流量数据:" + pFlowInfo.dwSendFlowSize);
// System.out.println("接收的流量数据:" + pFlowInfo.dwRecvFlowSize);
// }
// }
//
// /**
// * 动态库加载
// *
// * @return
// */
// private static boolean createSDKInstance() {
// if (hCNetSDK == null) {
// synchronized (HCNetSDK.class) {
// String strDllPath = "";
// try {
// if (osSelect.isWindows())
// //win系统加载SDK库路径
// strDllPath = System.getProperty("user.dir") + "\\lib\\HCNetSDK.dll";
//
// else if (osSelect.isLinux())
// //Linux系统加载SDK库路径
// strDllPath = System.getProperty("user.dir") + "/lib/libhcnetsdk.so";
// hCNetSDK = (HCNetSDK) Native.loadLibrary(strDllPath, HCNetSDK.class);
// } catch (Exception ex) {
// System.out.println("loadLibrary: " + strDllPath + " Error: " + ex.getMessage());
// return false;
// }
// }
// }
// return true;
// }
//
// public static void main(String[] args) throws IOException, InterruptedException {
// if (hCNetSDK == null) {
// if (!createSDKInstance()) {
// System.out.println("Load SDK fail");
// return;
// }
// }
// //linux系统建议调用以下接口加载组件库
// if (osSelect.isLinux()) {
// HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256);
// HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256);
// //这里是库的绝对路径,请根据实际情况修改,注意改路径必须有访问权限
// String strPath1 = System.getProperty("user.dir") + "/lib/libcrypto.so.1.1";
// String strPath2 = System.getProperty("user.dir") + "/lib/libssl.so.1.1";
//
// System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length());
// ptrByteArray1.write();
// hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArray1.getPointer());
//
// System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length());
// ptrByteArray2.write();
// hCNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArray2.getPointer());
//
// String strPathCom = System.getProperty("user.dir") + "/lib/";
// HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH();
// System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length());
// struComPath.write();
// hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer());
// }
//
// //SDK初始化一个程序进程只需要调用一次
// hCNetSDK.NET_DVR_Init();
//
// if (fExceptionCallBack == null) {
// fExceptionCallBack = new FExceptionCallBack_Imp();
// }
// Pointer pUser = null;
// if (!hCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, 0, fExceptionCallBack, pUser)) {
// return;
// }
// System.out.println("设置异常消息回调成功");
//
// //启用SDK写日志
// hCNetSDK.NET_DVR_SetLogToFile(3, "./sdkLog", false);
//
//
// //登录设备,每一台设备只需要登录一次
// lUserID = TestDemo.login_V40("10.16.36.13", (short) 8000, "admin", "hik12345");
//
// getDeviceStatus(lUserID);
//// getIPChannelInfo(lUserID);
//// getGisInfo(lUserID);
//// getIP();
// Thread.sleep(2000);
// //程序退出的时候调用注销登录接口,每一台设备分别调用一次
// if (hCNetSDK.NET_DVR_Logout(lUserID)) {
// System.out.println("注销成功");
// }
//
// //释放SDK资源程序退出时调用只需要调用一次
// hCNetSDK.NET_DVR_Cleanup();
// return;
// }
//
// /**
// * 设备登录V30
// *
// * @param ip 设备IP
// * @param port SDK端口默认设备的8000端口
// * @param user 设备用户名
// * @param psw 设备密码
// */
// public static int login_V30(String ip, short port, String user, String psw) {
// HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();
// int iUserID = hCNetSDK.NET_DVR_Login_V30(ip, port, user, psw, m_strDeviceInfo);
// System.out.println("UserID:" + lUserID);
// if ((iUserID == -1) || (iUserID == 0xFFFFFFFF)) {
// System.out.println("登录失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
// return iUserID;
// } else {
// System.out.println(ip + ":设备登录成功!");
// return iUserID;
// }
// }
//
// /**
// * 设备登录V40 与V30功能一致
// *
// * @param ip 设备IP
// * @param port SDK端口默认设备的8000端口
// * @param user 设备用户名
// * @param psw 设备密码
// */
// public static int login_V40(String ip, short port, String user, String psw) {
// //注册
// HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
// HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息
//
// String m_sDeviceIP = ip;//设备ip地址
// m_strLoginInfo.sDeviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];
// System.arraycopy(m_sDeviceIP.getBytes(), 0, m_strLoginInfo.sDeviceAddress, 0, m_sDeviceIP.length());
//
// String m_sUsername = user;//设备用户名
// m_strLoginInfo.sUserName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];
// System.arraycopy(m_sUsername.getBytes(), 0, m_strLoginInfo.sUserName, 0, m_sUsername.length());
//
// String m_sPassword = psw;//设备密码
// m_strLoginInfo.sPassword = new byte[HCNetSDK.NET_DVR_LOGIN_PASSWD_MAX_LEN];
// System.arraycopy(m_sPassword.getBytes(), 0, m_strLoginInfo.sPassword, 0, m_sPassword.length());
//
// m_strLoginInfo.wPort = port;
// m_strLoginInfo.bUseAsynLogin = false; //是否异步登录0- 否1- 是
//// m_strLoginInfo.byLoginMode=1; //ISAPI登录
// m_strLoginInfo.write();
//
// int iUserID = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo);
// if (iUserID == -1) {
// System.out.println("登录失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
// return iUserID;
// } else {
// System.out.println(ip + ":设备登录成功!");
// return iUserID;
// }
// }
//
// //设备在线状态监测
// public static void getDeviceStatus(int iUserID) {
// boolean devStatus = hCNetSDK.NET_DVR_RemoteControl(iUserID, HCNetSDK.NET_DVR_CHECK_USER_STATUS, null, 0);
// if (devStatus == false) {
// System.out.println("设备不在线");
//
// } else {
// System.out.println("设备在线");
// }
// }
//
// //PC电脑有多网卡绑定网卡指定使用的实际网卡
// public static void getIP() {
// HCNetSDK.BYTE_TWODIM[] struByteArray = new HCNetSDK.BYTE_TWODIM[16];
// IntByReference pInt = new IntByReference(0);
// boolean pEnableBind = false;
// if (!hCNetSDK.NET_DVR_GetLocalIP(struByteArray, pInt, pEnableBind)) {
// System.out.println("NET_DVR_GetLocalIP失败错误号:" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// int inum = pInt.getValue();
// for (int i = 0; i < inum; i++) {
// System.out.println("网卡序号:" + i + ", 网卡IP: " + new String(struByteArray[i].strIP).trim());
//
////选择需要绑定的网卡
// if ("10.16.36.23".equals(new String(struByteArray[i].strIP))) {
// hCNetSDK.NET_DVR_SetValidIP(i, true);
// }
// }
// }
// }
//
// //设备抓图
// public void circleGetPic(int iUserID) {
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
//// String curTime0 = sdf.format(new Date());
// Boolean result = false;
// int count = 0;
// while (!result) {
// try {
// Thread.sleep(1 * 1000); //设置暂停的时间 5 秒
// String curTime0 = sdf.format(new Date());
// count++;
// String filename = "C:\\PIC\\" + curTime0 + count + ".jpg";
// byte[] fileByte = filename.getBytes("UTF-8");
// HCNetSDK.BYTE_ARRAY byte_array = new HCNetSDK.BYTE_ARRAY(fileByte.length);
// byte_array.read();
// byte_array.byValue = fileByte;
// byte_array.write();
//
// HCNetSDK.NET_DVR_JPEGPARA strJpegParm = new HCNetSDK.NET_DVR_JPEGPARA();
// strJpegParm.read();
// strJpegParm.wPicSize = 2;
// strJpegParm.wPicQuality = 0;
// Pointer pStrjPegParm = strJpegParm.getPointer();
// strJpegParm.write();
// boolean b_Cap = hCNetSDK.NET_DVR_CaptureJPEGPicture(iUserID, 1, strJpegParm, fileByte);
// if (b_Cap == false) {
// System.out.println("抓图失败,错误码为:" + hCNetSDK.NET_DVR_GetLastError());
// return;
// }
// System.out.println(sdf.format(new Date()) + "--循环执行第" + count + "次");
// if (count == 3) {
// result = true;
// break;
// }
// } catch (InterruptedException e) {
// e.printStackTrace();
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// }
// }
//
// //端口绑定
// public void bindPort() {
// HCNetSDK.NET_DVR_LOCAL_TCP_PORT_BIND_CFG strLocalTcpBind = new HCNetSDK.NET_DVR_LOCAL_TCP_PORT_BIND_CFG();
// strLocalTcpBind.read();
// strLocalTcpBind.wLocalBindTcpMinPort = 30000;
// strLocalTcpBind.wLocalBindTcpMaxPort = 30200;
// strLocalTcpBind.write();
// Pointer pStrLocalTcoBind = strLocalTcpBind.getPointer();
// if (hCNetSDK.NET_DVR_SetSDKLocalCfg(0, pStrLocalTcoBind) == false) {
// System.out.println("绑定失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
// }
// System.out.println("绑定成功");
// }
//
// //获取设备的基本参数
// public static void getCfg(int iUserID) {
// HCNetSDK.NET_DVR_DEVICECFG_V40 m_strDeviceCfg = new HCNetSDK.NET_DVR_DEVICECFG_V40();
// m_strDeviceCfg.dwSize = m_strDeviceCfg.size();
// m_strDeviceCfg.write();
// Pointer pStrDeviceCfg = m_strDeviceCfg.getPointer();
// IntByReference pInt = new IntByReference(0);
// boolean b_GetCfg = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_DEVICECFG_V40,
// 0Xffffffff, pStrDeviceCfg, m_strDeviceCfg.dwSize, pInt);
// if (b_GetCfg == false) {
// System.out.println("获取参数失败 错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// System.out.println("获取参数成功");
// m_strDeviceCfg.read();
// System.out.println("设备名称:" + new String(m_strDeviceCfg.sDVRName).trim() + "设备序列号:" + new String(m_strDeviceCfg.sSerialNumber));
// System.out.println("模拟通道个数" + m_strDeviceCfg.byChanNum);
// parseVersion(m_strDeviceCfg.dwSoftwareVersion);
// parseBuildTime(m_strDeviceCfg.dwSoftwareBuildDate);
// parseDSPBuildDate(m_strDeviceCfg.dwDSPSoftwareBuildDate);
//
// }
//
//
// public static void parseBuildTime(int buildTime) {
// int year = ((buildTime & 0XFF << 16) >> 16) + 2000;
// int month = (buildTime & 0XFF << 8) >> 8;
// int data = buildTime & 0xFF;
// System.out.println("Build:" + year + "." + month + "." + data);
//
//
// }
//
// public static void parseDSPBuildDate(int DSPBuildDate) {
// int year = ((DSPBuildDate & 0XFF << 16) >> 16) + 2000;
// int month = (DSPBuildDate & 0XFF << 8) >> 8;
// int data = DSPBuildDate & 0xFF;
// System.out.println("DSPBuildDate:" + year + "." + month + "." + data);
//
//
// }
//
// //设备版本解析
// public static void parseVersion(int version) {
// int firstVersion = (version & 0XFF << 24) >> 24;
// int secondVersion = (version & 0XFF << 16) >> 16;
// int lowVersion = version & 0XFF;
//
// System.out.println("firstVersion:" + firstVersion);
// System.out.println("secondVersion:" + secondVersion);
// System.out.println("lowVersion:" + lowVersion);
// }
//
// //获取设备时间参数
// public void getDevTime(int iUserID) {
// HCNetSDK.NET_DVR_TIME m_Time = new HCNetSDK.NET_DVR_TIME();
// Pointer pTime = m_Time.getPointer();
// IntByReference pInt = new IntByReference(0);
// boolean b_GetTime = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_TIMECFG, 0xffffffff, pTime, m_Time.size(), pInt);
// if (b_GetTime == false) {
// System.out.println("获取时间参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// m_Time.read();
// System.out.println("年:" + m_Time.dwYear + "月:" + m_Time.dwMonth + "日:" + m_Time.dwDay + "时:" + m_Time.dwHour +
// "分:" + m_Time.dwMinute + "秒:" + m_Time.dwSecond);
// }
//
// //获取设备的图像参数-移动侦测高亮显示
// public static void getPicCfg(int iUserID) {
// HCNetSDK.NET_DVR_PICCFG_V40 strPicCfg = new HCNetSDK.NET_DVR_PICCFG_V40();
// strPicCfg.dwSize = strPicCfg.size();
// Pointer pStrPicCfg = strPicCfg.getPointer();
// NativeLong lChannel = new NativeLong(18);
// IntByReference pInt = new IntByReference(0);
// boolean b_GetPicCfg = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_PICCFG_V40, lChannel.intValue(),
// pStrPicCfg, strPicCfg.size(), pInt);
// if (b_GetPicCfg == false) {
// System.out.println("获取图像参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// strPicCfg.read();
// System.out.println("通道号:" + lChannel);
// System.out.println("通道名称:" + strPicCfg.sChanName);
// System.out.println("预览的图像是否显示OSD" + strPicCfg.dwShowOsd);
// System.out.println("移动侦测高亮显示是否开启:" + strPicCfg.struMotion.byEnableDisplay);
// strPicCfg.read();
// strPicCfg.struMotion.byEnableDisplay = 0;
// strPicCfg.write();
//
// boolean b_SetPicCfg = hCNetSDK.NET_DVR_SetDVRConfig(iUserID, HCNetSDK.NET_DVR_SET_PICCFG_V40, lChannel.intValue(),
// pStrPicCfg, strPicCfg.size());
// if (b_SetPicCfg == false) {
// System.out.println("设置图像参数移动侦测高亮参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// System.out.println("设置移动侦测高亮参数成功");
//
// }
// }
//
// //获取用户参数
// public static void getUsrCfg(int iUserID) throws UnsupportedEncodingException {
// HCNetSDK.NET_DVR_USER_V30 usercfg = new HCNetSDK.NET_DVR_USER_V30();
// usercfg.dwSize = usercfg.size();
// Pointer pUserCfg = usercfg.getPointer();
// NativeLong lChannel = new NativeLong(1);
// IntByReference pInt = new IntByReference(0);
// boolean b_GetUserCfg = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_USERCFG_V30, lChannel.intValue(),
// pUserCfg, usercfg.size(), pInt);
// if (b_GetUserCfg == false) {
// System.out.println("获取用户参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// usercfg.read();
// //System.out.println("用户名称:" + usercfg.struUser[1].sUserName);
// System.out.println("name " + new String(usercfg.struUser[0].sUserName, "GBK").trim());
// System.out.println("password " + new String(usercfg.struUser[0].sPassword, "GBK").trim());
//
// }
//
// //网络流量检测
// public void netFlowDec(int iUserID) throws InterruptedException {
// HCNetSDK.NET_DVR_FLOW_TEST_PARAM struFlowPam = new HCNetSDK.NET_DVR_FLOW_TEST_PARAM();
// struFlowPam.read();
// struFlowPam.dwSize = struFlowPam.size();
// struFlowPam.lCardIndex = 0;
// struFlowPam.dwInterval = 1;
// struFlowPam.write();
// Pointer pUser = null;
// if (flowcallback == null) {
// flowcallback = new flowTestcallback();
// }
// int FlowHandle = hCNetSDK.NET_DVR_StartNetworkFlowTest(iUserID, struFlowPam, flowcallback, pUser);
// if (FlowHandle <= -1) {
// System.out.println("开启流量检测失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// System.out.println("开启流量检测成功");
// }
// Thread.sleep(20000);
// hCNetSDK.NET_DVR_StopNetworkFlowTest(FlowHandle);
// }
//
// //录像起止时间查询
// public static void searchRecordTime(int iUserID) {
// HCNetSDK.NET_DVR_RECORD_TIME_SPAN_INQUIRY struRecInq = new HCNetSDK.NET_DVR_RECORD_TIME_SPAN_INQUIRY();
// struRecInq.read();
// struRecInq.dwSize = struRecInq.size();
// struRecInq.byType = 0;
// struRecInq.write();
// HCNetSDK.NET_DVR_RECORD_TIME_SPAN struRecSpan = new HCNetSDK.NET_DVR_RECORD_TIME_SPAN();
// //通道号说明一般IPC/IPD通道号为132路以及以下路数的NVR的IP通道通道号从33开始64路及以上路数的NVR的IP通道通道号从1开始。
// if (hCNetSDK.NET_DVR_InquiryRecordTimeSpan(iUserID, 35, struRecInq, struRecSpan) == false) {
// System.out.println("录像起止时间查询失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// System.out.println("录像起止时间查询成功");
// struRecSpan.read();
// System.out.println("开启时间:" + "年:" + struRecSpan.strBeginTime.dwYear + "\n");
// System.out.println("开启时间:" + "月:" + struRecSpan.strBeginTime.dwMonth + "\n");
// System.out.println("开启时间:" + "日:" + struRecSpan.strBeginTime.dwDay + "\n");
// System.out.println("开启时间:" + "时:" + struRecSpan.strBeginTime.dwHour + "\n");
// System.out.println("停止时间:" + "年:" + struRecSpan.strEndTime.dwYear + "\n");
// System.out.println("停止时间:" + "月:" + struRecSpan.strEndTime.dwMonth + "\n");
// System.out.println("停止时间:" + "日:" + struRecSpan.strEndTime.dwDay + "\n");
// System.out.println("停止时间:" + "时:" + struRecSpan.strEndTime.dwHour + "\n");
// }
// }
//
// //月历录像查询
// public static void getRecMonth(int iUserID) {
// HCNetSDK.NET_DVR_MRD_SEARCH_PARAM struMrdSeaParam = new HCNetSDK.NET_DVR_MRD_SEARCH_PARAM();
// struMrdSeaParam.read();
// struMrdSeaParam.dwSize = struMrdSeaParam.size();
// struMrdSeaParam.wYear = 2021;
// struMrdSeaParam.byMonth = 1;
// //通道号说明一般IPC/IPD通道号为132路以及以下路数的NVR的IP通道通道号从33开始64路及以上路数的NVR的IP通道通道号从1开始。
// struMrdSeaParam.struStreamInfo.dwChannel = 33;
// struMrdSeaParam.write();
// HCNetSDK.NET_DVR_MRD_SEARCH_RESULT struMrdSeaResu = new HCNetSDK.NET_DVR_MRD_SEARCH_RESULT();
// struMrdSeaResu.read();
// struMrdSeaResu.dwSize = struMrdSeaResu.size();
// struMrdSeaResu.write();
// IntByReference list = new IntByReference(0);
// boolean b_GetResult = hCNetSDK.NET_DVR_GetDeviceConfig(iUserID, HCNetSDK.NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION, 0, struMrdSeaParam.getPointer(),
// struMrdSeaParam.size(), list.getPointer(), struMrdSeaResu.getPointer(), struMrdSeaResu.size());
// if (b_GetResult == false) {
// System.out.println("月历录像查询失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// struMrdSeaResu.read();
// for (int i = 0; i <= 32; i++) {
// int day = i + 1;
// System.out.println("" + day + "号是否录像文件" + struMrdSeaResu.byRecordDistribution[i]);
// }
// }
// }
//
// //球机GIS信息获取
// public static void getGisInfo(int iUserID) {
// HCNetSDK.NET_DVR_STD_CONFIG struStdCfg = new HCNetSDK.NET_DVR_STD_CONFIG();
// HCNetSDK.NET_DVR_GIS_INFO struGisInfo = new HCNetSDK.NET_DVR_GIS_INFO();
// struStdCfg.read();
// IntByReference lchannel = new IntByReference(1);
// struStdCfg.lpCondBuffer = lchannel.getPointer();
// struStdCfg.dwCondSize = 4;
// struStdCfg.lpOutBuffer = struGisInfo.getPointer();
// struStdCfg.dwOutSize = struGisInfo.size();
// struStdCfg.write();//设置前之前要write()
// boolean getSTDConfig = hCNetSDK.NET_DVR_GetSTDConfig(iUserID, HCNetSDK.NET_DVR_GET_GISINFO, struStdCfg);
// if (getSTDConfig == false) {
// System.out.println("查询GIS信息失败错误码" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// struGisInfo.read();
// System.out.println("查询成功\n");
// System.out.println(struGisInfo.struPtzPos.fPanPos + "\n");
// System.out.println(struGisInfo.struPtzPos.fTiltPos + "\n");
// System.out.println(struGisInfo.struPtzPos.fZoomPos + "\n");
// System.out.println(struGisInfo.fHorizontalValue);
// System.out.println(struGisInfo.fVerticalValue);
// }
//
// }
//
// //球机PTZ参数获取设置
// public static void setPTZcfg(int iUserID) {
// HCNetSDK.NET_DVR_PTZPOS struPtTZPos = new HCNetSDK.NET_DVR_PTZPOS();
// IntByReference pUsers = new IntByReference(1);
// boolean b_GetPTZ = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_PTZPOS, 1, struPtTZPos.getPointer(), struPtTZPos.size(), pUsers);
// if (b_GetPTZ == false) {
// System.out.println("获取PTZ坐标信息失败错误码" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// struPtTZPos.read();
// int wPanPos = Integer.parseInt(Integer.toHexString(struPtTZPos.wPanPos).trim());
// float WPanPos = wPanPos * 0.1f;
// int wTiltPos = Integer.parseInt(Integer.toHexString(struPtTZPos.wTiltPos).trim());
// float WTiltPos = wTiltPos * 0.1f;
// int wZoomPos = Integer.parseInt(Integer.toHexString(struPtTZPos.wZoomPos).trim());
// float WZoomPos = wZoomPos * 0.1f;
// System.out.println("P参数" + WPanPos + "\n");
// System.out.println("T参数" + wTiltPos + "\n");
// System.out.println("Z参数" + wZoomPos + "\n");
// }
//// struPtTZPos.wAction = 2;
// //本结构体中的wAction参数是设置时的操作类型因此获取时该参数无效。实际显示的PTZ值是获取到的十六进制值的十分之一
// // 如获取的水平参数P的值是0x1750实际显示的P值为175度获取到的垂直参数T的值是0x0789实际显示的T值为78.9度如果T未负值获取的值减去360
// // 获取到的变倍参数Z的值是0x1100实际显示的Z值为110倍。
//// String pHex="13669";
//// int pInter=Integer.parseInt(pHex);
//// short pInter = 13669;
//// System.out.println(pInter);
//// struPtTZPos.wPanPos = (short) pInter;
//// struPtTZPos.write();
//// boolean b_SetPTZ = hCNetSDK.NET_DVR_SetDVRConfig(iUserID, HCNetSDK.NET_DVR_SET_PTZPOS, 1, struPtTZPos.getPointer(), struPtTZPos.size());
//// if (b_GetPTZ == false) {
//// System.out.println("设置PTZ坐标信息失败错误码" + hCNetSDK.NET_DVR_GetLastError());
//// } else {
////
//// System.out.println("设置PTZ成功");
//// }
//
// }
//
// //设置云台锁定信息
// public static void setPTZLOCKCFG(int iUserID) {
// HCNetSDK.NET_DVR_PTZ_LOCKCFG struPtzLockCfg = new HCNetSDK.NET_DVR_PTZ_LOCKCFG();
// struPtzLockCfg.dwSize = struPtzLockCfg.size();
// Pointer pStrPtzLockCfg = struPtzLockCfg.getPointer();
// NativeLong lChannel = new NativeLong(1);
// IntByReference pInt = new IntByReference(0);
// boolean b_GetPtzLockCfg = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_PTZLOCKCFG, lChannel.intValue(),
// pStrPtzLockCfg, struPtzLockCfg.size(), pInt);
// if (b_GetPtzLockCfg == false) {
// System.out.println("获取云台锁定信息失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// struPtzLockCfg.read();
// System.out.println("通道号:" + lChannel);
// System.out.println("云台锁定控制状态为:" + struPtzLockCfg.byWorkMode);
//
// struPtzLockCfg.read();
// struPtzLockCfg.byWorkMode = 1; //0- 解锁1- 锁定
// struPtzLockCfg.write();
// boolean b_SetPtzLockCfg = hCNetSDK.NET_DVR_SetDVRConfig(iUserID, HCNetSDK.NET_DVR_SET_PTZLOCKCFG, lChannel.intValue(),
// pStrPtzLockCfg, struPtzLockCfg.size());
// if (b_SetPtzLockCfg == false) {
// System.out.println("设置云台锁定信息失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// } else {
// System.out.println("设置云台锁定信息成功");
// System.out.println("云台锁定控制状态当前为:" + struPtzLockCfg.byWorkMode);
// }
// }
//
//// public static void PTZControlOther(int iUserID){
//// boolean b_ptzcontrol=hCNetSDK.NET_DVR_PTZControl_Other(iUserID,1,HCNetSDK.TILT_UP,0);
////
//// if( b_ptzcontrol==false){
//// System.out.println("云台向上转动失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
//// }else{
//// System.out.println("设置向上转动成功");
//// }
//
// // }
//
// //获取(设置)前端参数(扩展)
// public static void getCameraPara(int iUserID) {
// HCNetSDK.NET_DVR_CAMERAPARAMCFG_EX struCameraParam = new HCNetSDK.NET_DVR_CAMERAPARAMCFG_EX();
// Pointer pstruCameraParam = struCameraParam.getPointer();
// IntByReference ibrBytesReturned = new IntByReference(0);
// boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_CCDPARAMCFG_EX, 1, pstruCameraParam, struCameraParam.size(), ibrBytesReturned);
// if (!b_GetCameraParam) {
// System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// struCameraParam.read();
// System.out.println("是否开启旋转:" + struCameraParam.struCorridorMode.byEnableCorridorMode);
//
// struCameraParam.struCorridorMode.byEnableCorridorMode = 1;
// struCameraParam.write();
// boolean b_SetCameraParam = hCNetSDK.NET_DVR_SetDVRConfig(iUserID, HCNetSDK.NET_DVR_SET_CCDPARAMCFG_EX, 1, pstruCameraParam, struCameraParam.size());
// if (!b_SetCameraParam) {
// System.out.println("设置前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// struCameraParam.read();
// System.out.println("设置成功");
// }
//
// //获取快球聚焦模式信息。
// public static void getFocusMode(int iUserID) {
// HCNetSDK.NET_DVR_FOCUSMODE_CFG struFocusMode = new HCNetSDK.NET_DVR_FOCUSMODE_CFG();
// struFocusMode.read();
// struFocusMode.dwSize = struFocusMode.size();
// struFocusMode.write();
// Pointer pFocusMode = struFocusMode.getPointer();
// IntByReference ibrBytesReturned = new IntByReference(0);
// boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_FOCUSMODECFG, 1, pFocusMode, struFocusMode.size(), ibrBytesReturned);
// if (!b_GetCameraParam) {
// System.out.println("获取快球聚焦模式失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// struFocusMode.read();
// System.out.println("聚焦模式:" + struFocusMode.byFocusMode);
// struFocusMode.byFocusMode = 1;
// struFocusMode.byFocusDefinitionDisplay = 1;
// struFocusMode.byFocusSpeedLevel = 3;
// struFocusMode.write();
// boolean b_SetCameraParam = hCNetSDK.NET_DVR_SetDVRConfig(iUserID, HCNetSDK.NET_DVR_SET_FOCUSMODECFG, 1, pFocusMode, struFocusMode.size());
// if (!b_SetCameraParam) {
// System.out.println("设置快球聚焦模式失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// struFocusMode.read();
// System.out.println("设置成功");
// }
//
// //获取IP通道
// public static void getIPChannelInfo(int iUserID) throws UnsupportedEncodingException {
// IntByReference ibrBytesReturned = new IntByReference(0);//获取IP接入配置参数
// HCNetSDK.NET_DVR_IPPARACFG_V40 m_strIpparaCfg = new HCNetSDK.NET_DVR_IPPARACFG_V40();
// m_strIpparaCfg.write();
// //lpIpParaConfig 接收数据的缓冲指针
// Pointer lpIpParaConfig = m_strIpparaCfg.getPointer();
// boolean bRet = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_IPPARACFG_V40, 0, lpIpParaConfig, m_strIpparaCfg.size(), ibrBytesReturned);
// m_strIpparaCfg.read();
// System.out.println("起始数字通道号:" + m_strIpparaCfg.dwStartDChan);
//
// for (int iChannum = 0; iChannum < m_strIpparaCfg.dwDChanNum; iChannum++) {
// int channum = iChannum + m_strIpparaCfg.dwStartDChan;
// HCNetSDK.NET_DVR_PICCFG_V40 strPicCfg = new HCNetSDK.NET_DVR_PICCFG_V40();
// strPicCfg.dwSize = strPicCfg.size();
// strPicCfg.write();
// Pointer pStrPicCfg = strPicCfg.getPointer();
// NativeLong lChannel = new NativeLong(channum);
// IntByReference pInt = new IntByReference(0);
// boolean b_GetPicCfg = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_PICCFG_V40, lChannel.intValue(),
// pStrPicCfg, strPicCfg.size(), pInt);
//// if (b_GetPicCfg == false) {
//// System.out.println("获取图像参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
//// }
// strPicCfg.read();
// m_strIpparaCfg.struStreamMode[iChannum].read();
// if (m_strIpparaCfg.struStreamMode[iChannum].byGetStreamType == 0) {
// m_strIpparaCfg.struStreamMode[iChannum].uGetStream.setType(HCNetSDK.NET_DVR_IPCHANINFO.class);
// m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.read();
//
// System.out.println("--------------第" + (iChannum + 1) + "个通道------------------");
// int channel = m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byIPID + m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byIPIDHigh * 256;
// System.out.println("channel:" + channel);
// if (channel > 0) {
// System.out.println("ip " + new String(m_strIpparaCfg.struIPDevInfo[channel - 1].struIP.sIpV4).trim());
// }
// System.out.println("name " + new String(strPicCfg.sChanName, "GBK").trim());
// if (m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byEnable == 1) {
// System.out.println("IP通道" + channum + "在线");
//
// } else {
//
// System.out.println("IP通道" + channum + "不在线");
//
// }
// }
// }
// }
//
// //定时巡检设备
// public static void regularInspection() {
// HCNetSDK.NET_DVR_CHECK_DEV_STATE struCheckStatus = new HCNetSDK.NET_DVR_CHECK_DEV_STATE();
// struCheckStatus.read();
// struCheckStatus.dwTimeout = 1000; //定时检测设备工作状态单位ms0表示使用默认值(30000)最小值为1000
// if (workStateCb == null) {
// workStateCb = new dev_work_state_cb();
// }
// struCheckStatus.fnStateCB = workStateCb;
// struCheckStatus.write();
// boolean b_state = hCNetSDK.NET_DVR_StartGetDevState(struCheckStatus);
// if (!b_state) {
// System.out.println("定时巡检设备状态失败:" + hCNetSDK.NET_DVR_GetLastError());
// }
// }
//
// //获取高精度PTZ绝对位置配置,一般热成像设备支持
// public static void getPTZAbsoluteEx(int iUserID) {
// HCNetSDK.NET_DVR_STD_CONFIG struSTDcfg = new HCNetSDK.NET_DVR_STD_CONFIG();
// HCNetSDK.NET_DVR_PTZABSOLUTEEX_CFG struPTZ = new HCNetSDK.NET_DVR_PTZABSOLUTEEX_CFG();
// struSTDcfg.read();
// IntByReference channel = new IntByReference(1);
// struSTDcfg.lpCondBuffer = channel.getPointer();
// struSTDcfg.dwCondSize = 4;
// struSTDcfg.lpOutBuffer = struPTZ.getPointer();
// struSTDcfg.dwOutSize = struPTZ.size();
// struSTDcfg.lpInBuffer = Pointer.NULL;
// struSTDcfg.dwInSize = 0;
// struSTDcfg.write();
// boolean bGetPTZ = hCNetSDK.NET_DVR_GetSTDConfig(iUserID, HCNetSDK.NET_DVR_GET_PTZABSOLUTEEX, struSTDcfg);
// if (bGetPTZ == false) {
// System.out.println("获取PTZ参数错误,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// return;
// }
// struPTZ.read();
// System.out.println("焦距范围:" + struPTZ.dwFocalLen);
// System.out.println("聚焦参数:" + struPTZ.struPTZCtrl.dwFocus);
// return;
// }
//
// //获取GB28181参数
// public static void getGB28181Info(int iUserID) {
//
// HCNetSDK.NET_DVR_STREAM_INFO streamInfo = new HCNetSDK.NET_DVR_STREAM_INFO();
// streamInfo.read();
// streamInfo.dwSize = streamInfo.size(); //设置结构体大小
// streamInfo.dwChannel = 1; //设置通道
// streamInfo.write();
// Pointer lpInBuffer = streamInfo.getPointer();
// HCNetSDK.NET_DVR_GBT28181_CHANINFO_CFG gbt28181ChaninfoCfg = new HCNetSDK.NET_DVR_GBT28181_CHANINFO_CFG();
// gbt28181ChaninfoCfg.read();
// gbt28181ChaninfoCfg.dwSize = gbt28181ChaninfoCfg.size();
// gbt28181ChaninfoCfg.write();
// Pointer lpOutBuffer = gbt28181ChaninfoCfg.getPointer();
// IntByReference lpBytesReturned = new IntByReference(0);
// //3251对应它的宏定义
// boolean bRet = hCNetSDK.NET_DVR_GetDeviceConfig(iUserID, 3251, 1, lpInBuffer,
// streamInfo.size(), lpBytesReturned.getPointer(), lpOutBuffer, gbt28181ChaninfoCfg.size());
// gbt28181ChaninfoCfg.read();
//
// if (bRet == false) {
// System.out.println("获取失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
// return;
// }
// }
//
// //获取码流加密信息
// public static void getAESInfo(int iUserID) {
// HCNetSDK.NET_DVR_AES_KEY_INFO net_dvr_aes_key_info = new HCNetSDK.NET_DVR_AES_KEY_INFO();
// net_dvr_aes_key_info.read();
// Pointer pnet_dvr_aes_key_info = net_dvr_aes_key_info.getPointer();
// IntByReference pInt = new IntByReference(0);
// boolean b_GetCfg = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_AES_KEY,
// 0Xffffffff, pnet_dvr_aes_key_info, net_dvr_aes_key_info.size(), pInt);
// if (b_GetCfg == false) {
// System.out.println("获取码流加密失败 错误码:" + hCNetSDK.NET_DVR_GetLastError());
// }
// System.out.println("获取码流加密信息成功");
//
//
// }
//
// //设置球机预置点
// public static void getCruisePoint(int iUserID) {
// HCNetSDK.NET_DVR_CRUISEPOINT_COND struCruisepointCond = new HCNetSDK.NET_DVR_CRUISEPOINT_COND();
// struCruisepointCond.read();
// struCruisepointCond.dwSize = struCruisepointCond.size();
// struCruisepointCond.dwChan = 1;
// struCruisepointCond.wRouteNo = 1;
// struCruisepointCond.write();
//
// HCNetSDK.NET_DVR_CRUISEPOINT_V50 struCruisepointV40 = new HCNetSDK.NET_DVR_CRUISEPOINT_V50();
// struCruisepointV40.read();
// struCruisepointV40.dwSize = struCruisepointV40.size();
// struCruisepointV40.write();
//
// // 错误信息列表
// IntByReference pInt = new IntByReference(0);
// Pointer lpStatusList = pInt.getPointer();
//
// boolean flag = hCNetSDK.NET_DVR_GetDeviceConfig(iUserID, 6714, 1,
// struCruisepointCond.getPointer(), struCruisepointCond.size(), lpStatusList, struCruisepointV40.getPointer(), struCruisepointV40.size());
// if (flag == false) {
// int iErr = hCNetSDK.NET_DVR_GetLastError();
// System.out.println("NET_DVR_STDXMLConfig失败错误号" + iErr);
// return;
// }
// struCruisepointV40.read();
//
//
// }
//
// //抓图保存到缓冲区
// public static void getPictoPointer(int iUserID) {
// HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA();
// jpegpara.read();
// jpegpara.wPicSize = 255;
// jpegpara.wPicQuality = 0;
// jpegpara.write();
// HCNetSDK.BYTE_ARRAY byte_array = new HCNetSDK.BYTE_ARRAY(10 * 1024 * 1024);
// IntByReference ret = new IntByReference(0);
// boolean b = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(iUserID, 1, jpegpara, byte_array.getPointer(), byte_array.size(), ret);
// if (b == false) {
// System.out.println("抓图失败:" + hCNetSDK.NET_DVR_GetLastError());
// return;
// }
// byte_array.read();
// System.out.println("抓图成功");
// return;
// }
//
// /**
// * 获取报警主机RS485参数
// *
// * @param lUserID
// */
// public static void getRs485Cfg(int lUserID) {
// HCNetSDK.NET_DVR_ALARM_RS485CFG rs485CFG = new HCNetSDK.NET_DVR_ALARM_RS485CFG();
// rs485CFG.dwSize = rs485CFG.size();
// Pointer pointer = rs485CFG.getPointer();
// IntByReference pInt1 = new IntByReference(0);
// rs485CFG.write();
// boolean bGetRs485 = hCNetSDK.NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_ALARM_RS485CFG, 3, pointer, rs485CFG.dwSize, pInt1);
// if (!bGetRs485) {
// System.out.println("获取报警主机RS485参数失败错误号" + hCNetSDK.NET_DVR_GetLastError());
// return;
// }
// rs485CFG.read();
// return;
//
// }
//
// public static void getRs485SlotInfo(int iUserID) {
// HCNetSDK.NET_DVR_ALARMHOST_RS485_SLOT_CFG strRs485SlotCFG = new HCNetSDK.NET_DVR_ALARMHOST_RS485_SLOT_CFG();
// strRs485SlotCFG.dwSize = strRs485SlotCFG.size();
// Pointer pRs485SlotCFG = strRs485SlotCFG.getPointer();
// IntByReference pInt1 = new IntByReference(0);
// strRs485SlotCFG.write();
// String Schannel = "0000000100000001"; //高2字节表示485通道号低2字节表示槽位号都从1开始
// int channel = Integer.parseInt(Schannel, 2);
// boolean bRs485Slot = hCNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_ALARMHOST_RS485_SLOT_CFG, channel, pRs485SlotCFG, strRs485SlotCFG.dwSize, pInt1);
// if (!bRs485Slot) {
// System.out.println("获取报警主机RS485槽位参数失败错误号" + hCNetSDK.NET_DVR_GetLastError());
// return;
// }
// strRs485SlotCFG.read();
// return;
//
// }
//
//
//}
//
//

@ -4,11 +4,15 @@ import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@Slf4j
@MapperScan("com.shxy")
@MapperScan(basePackages = {"com.shxy.xyhkcamera.mapper"})
@ComponentScan(basePackages = {"com.shxy"})
@EnableAsync
public class XyhkcameraApplication {
public static void main(String[] args) {

@ -56,8 +56,28 @@ public class DataEaifHEntity implements Serializable {
@TableField("mid")
private Double mid;
@Override
public String toString() {
return "DataEaifHEntity{" +
"dataId=" + dataId +
", eqmid=" + eqmid +
", areaid=" + areaid +
", capturetime=" + capturetime +
", maxtemp=" + maxtemp +
", mintemp=" + mintemp +
", avgtemp=" + avgtemp +
", unit=" + unit +
", type=" + type +
", mid=" + mid +
", std=" + std +
", isupload=" + isupload +
'}';
}
@TableField("std")
private Double std;
private Integer isupload;
}

@ -7,13 +7,12 @@ import com.sun.jna.examples.win32.W32API.HWND;
import com.sun.jna.ptr.ByteByReference;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.ShortByReference;
import com.sun.jna.win32.StdCallLibrary;
import java.util.Arrays;
import java.util.List;
//SDK接口说明,HCNetSDK.dll
public interface HCNetSDK extends StdCallLibrary {
public interface HCNetSDK extends Library {
/**
* 使dll/so
@ -3974,7 +3973,7 @@ DVR实现巡航数据结构
public static class NET_DVR_CLIENTINFO extends Structure {
public int lChannel;
public int lLinkMode;
public HWND hPlayWnd;
public W32API.HWND hPlayWnd;
public String sMultiCastIP;
}
@ -9680,9 +9679,9 @@ DVR实现巡航数据结构
boolean NET_DVR_UnlockFileByName(int lUserID, String sUnlockFileName);
int NET_DVR_PlayBackByName(int lUserID, String sPlayBackFileName, HWND hWnd);
int NET_DVR_PlayBackByName(int lUserID, String sPlayBackFileName, W32API.HWND hWnd);
int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, HWND hWnd);
int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, W32API.HWND hWnd);
int NET_DVR_PlayBackByTime_V40(int lUserID, NET_DVR_VOD_PARA pVodPara);
@ -10758,4 +10757,3 @@ interface USER32 extends W32API {
int FillRect(HDC hDC, com.sun.jna.examples.win32.GDI32.RECT lprc, HANDLE hbr);
}

@ -0,0 +1,69 @@
package com.shxy.xyhkcamera.hk;
public class HKConfigEnum {
//回调状态值
public enum NET_SDK_CALLBACK_TYPE {
NET_SDK_CALLBACK_TYPE_STATUS(0),
NET_SDK_CALLBACK_TYPE_PROGRESS(1),
NET_SDK_CALLBACK_TYPE_DATA(2);
private int value;
private NET_SDK_CALLBACK_TYPE(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
//规则标定类型0- 点1- 框2- 线
// 数据库中1->点 2->线 3->框
public enum BYRULECALIBTYPE {
POINT(0, 1),
FRAME(1, 3),
LINE(2, 2);
private int value;
private int mysqlvalue;
private BYRULECALIBTYPE(int value, int mysqlvalue) {
this.value = value;
this.mysqlvalue = mysqlvalue;
}
public int getValue() {
return value;
}
public int getMysqlvalue() {
return mysqlvalue;
}
}
//测温单位: 0- 摄氏度1- 华氏度2- 开尔文(K)
// 1=>摄氏度 2=>华氏度
public enum BYTHERMOMETRYUNIT {
SSD(0, 1),
HSD(1, 2),
KEW(2, 3);
private int value;
private int mysqlvalue;
private BYTHERMOMETRYUNIT(int value, int mysqlvalue) {
this.value = value;
this.mysqlvalue = mysqlvalue;
}
public int getValue() {
return value;
}
public int getMysqlvalue() {
return mysqlvalue;
}
}
}

@ -17,8 +17,6 @@ import java.util.Objects;
@Component
public class HcNetSdkUtil {
private static final Logger logger = LoggerFactory.getLogger(HcNetSdkUtil.class);
private HCNetSDK hCNetSDK = null;
static FExceptionCallBack_Imp fExceptionCallBack;

@ -82,7 +82,7 @@ public class OSUtils {
//loadLibrary = "/usr/lib64/lib/hkliblinux64/";
//方式二配置LD_LIBRARY_PATH环境变量加载库文件配置/etc/ld.so.conf加上你自己的Java工程所需要的so文件的路径
//针对方式二无需添加前缀程序会从linux系统的so共享库中查找libhcnetsdk.so
loadLibrary = "";
loadLibrary = userDir+File.separator+"hkliblinux64"+ File.separator;
library = "libhcnetsdk.so";
}
log.info("================= Load library Path :{} ==================", loadLibrary + library);

@ -0,0 +1,4 @@
package com.shxy.xyhkcamera.hk;
public enum erew {
}

@ -0,0 +1,18 @@
package com.shxy.xyhkcamera.interfacesss;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shxy.xyhkcamera.entity.DataEaifHEntity;
/**
* <p>
*
* </p>
*
* @author jingjing
* @since 2024-05-20
*/
public interface Testint{
void test(DataEaifHEntity entity);
}

@ -0,0 +1,16 @@
package com.shxy.xyhkcamera.interfacesss;
import com.shxy.xyhkcamera.entity.DataEaifHEntity;
import com.shxy.xyhkcamera.service.DataEaifHService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Testintimpl implements Testint {
@Autowired
DataEaifHService dataEaifHService;
@Override
public void test(DataEaifHEntity entity) {
dataEaifHService.save(entity);
}
}

@ -1,6 +1,7 @@
package com.shxy.xyhkcamera.schedule;
import com.shxy.xyhkcamera.service.TempMeasureService;
import com.shxy.xyhkcamera.service.impl.TempMeasureServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;

@ -0,0 +1,19 @@
package com.shxy.xyhkcamera.service;
import com.shxy.xyhkcamera.entity.DataEaifHEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@Service
public class AsyncService {
@Autowired
DataEaifHService dataEaifHService;
@Async("syncExecutorPool")
public void executeAsyncTask(DataEaifHEntity eaifHEntity) {
// 异步执行的任务
dataEaifHService.save(eaifHEntity);
}
}

@ -2,6 +2,7 @@ package com.shxy.xyhkcamera.service;
import com.shxy.xyhkcamera.entity.DataEaifHEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;
/**
* <p>
@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @author jingjing
* @since 2024-05-20
*/
@Service
public interface DataEaifHService extends IService<DataEaifHEntity> {
}

@ -1,29 +1,269 @@
package com.shxy.xyhkcamera.service.impl;
import com.alibaba.druid.sql.visitor.functions.If;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.shxy.xyhkcamera.entity.ModevEaifEntity;
import com.shxy.xyhkcamera.entity.DataEaifHEntity;
import com.shxy.xyhkcamera.entity.ModevEntity;
import com.shxy.xyhkcamera.service.ModevEaifService;
import com.shxy.xyhkcamera.hk.HCNetSDK;
import com.shxy.xyhkcamera.hk.HKConfigEnum;
import com.shxy.xyhkcamera.hk.HcNetSdkUtil;
import com.shxy.xyhkcamera.interfacesss.Testint;
import com.shxy.xyhkcamera.interfacesss.Testintimpl;
import com.shxy.xyhkcamera.mapper.DataEaifHMapper;
import com.shxy.xyhkcamera.service.AsyncService;
import com.shxy.xyhkcamera.service.DataEaifHService;
import com.shxy.xyhkcamera.service.ModevService;
import com.shxy.xyhkcamera.service.TempMeasureService;
import com.shxy.xyhkcamera.utils.CommonUtil;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.sql.Wrapper;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@Service
@Slf4j
public class TempMeasureServiceImpl implements TempMeasureService {
@Autowired
ModevServiceImp modevService;
ModevService modevService;
@Autowired
DataEaifHService dataEaifHService;
@Autowired
DataEaifHMapper dataEaifHMapper;
@Autowired
HcNetSdkUtil hcNetSdkUtil;
@Autowired
CommonUtil commonUtil;
@Autowired
AsyncService asyncService;
// @Autowired
// Testint testint;
/**
*
*/
@Value("${hkconfig.user}")
private String user;
/**
*
*/
@Value("${hkconfig.password}")
private String password;
private int handle = -1;
private int test = 0;
private Connection conn;
@Override
public void measure() {
// hcNetSdkUtil.createSDKInstance();
// List<ModevEntity> list = modevService.list(Wrappers.lambdaQuery(ModevEntity.class).eq(ModevEntity::getModevtid, 9));
hcNetSdkUtil.init();
HCNetSDK instance = hcNetSdkUtil.createSDKInstance();
List<ModevEntity> list = modevService.list(Wrappers.lambdaQuery(ModevEntity.class).eq(ModevEntity::getModevtid, 9));
if (CollectionUtils.isNotEmpty(list)) {
// for (int i = 0; i < list.size(); i++) {
for (int i = 0; i < 1; i++) {
// List<DataEaifHEntity> list1 = dataEaifHService.list(Wrappers.lambdaQuery(DataEaifHEntity.class).eq(DataEaifHEntity::getDataId, 12891));
// DataEaifHEntity entitys = new DataEaifHEntity();
// entitys.setEqmid(384);
// entitys.setMaxtemp((double) 0);
// entitys.setAreaid(1);
// entitys.setCapturetime(LocalDateTime.now());
// entitys.setMintemp((double) 0);
// entitys.setAvgtemp((double) 0);
// entitys.setType((byte) HKConfigEnum.BYRULECALIBTYPE.POINT.getMysqlvalue());
// entitys.setMid(Double.valueOf(0));
// dataEaifHService.save(entitys);
// ModevEntity entitys = new ModevEntity();
// entitys.setModevtid(1919);
// entitys.setZsbid(1);
// entitys.setIedid(1);
// entitys.setAddress(12112);
// modevService.save(entitys);
ModevEntity modevEntity = list.get(i);
Integer id = modevEntity.getId();
String ip = modevEntity.getIp();
String port = modevEntity.getPort();
// Short aShort = Short.valueOf(port);
// int admin = hcNetSdkUtil.login_V40(ip, aShort, user, password);
int admin = hcNetSdkUtil.login_V40("192.168.1.64", (short) 8000, user, password);
if (admin != -1) {
log.info("登录成功 " + "IP:" + ip + " " + port);
HCNetSDK.NET_DVR_REALTIME_THERMOMETRY_COND cond = new HCNetSDK.NET_DVR_REALTIME_THERMOMETRY_COND();
cond.read();
cond.dwSize = cond.size();
cond.byRuleID = 1;
cond.dwChan = 2;
cond.wInterval = 0;
cond.write();
HCNetSDK.FRemoteConfigCallBack cbStateCallBack = new HCNetSDK.FRemoteConfigCallBack() {
@Override
public void invoke(int dwType, Pointer lpBuffer, int dwBufLen, Pointer pUserData) {
// log.info("111111111" + Integer.toHexString(dwType));
// new Thread(new Runnable() {
// @Override
// public void run() {
// log.info("3333333" + Integer.toHexString(dwType));
// DataEaifHEntity entitys = new DataEaifHEntity();
// entitys.setEqmid(384);
// entitys.setMaxtemp((double) 0);
// entitys.setAreaid(1);
// entitys.setCapturetime(LocalDateTime.now());
// entitys.setMintemp((double) 0);
// entitys.setAvgtemp((double) 0);
// entitys.setType((byte) HKConfigEnum.BYRULECALIBTYPE.POINT.getMysqlvalue());
// entitys.setMid(Double.valueOf(0));
// dataEaifHService.save(entitys);
// log.info("222222222222222" + Integer.toHexString(dwType));
// }
// }).start();
test++;
log.info("长连接返回: dwType:" + Integer.toHexString(dwType));
if (dwType == HKConfigEnum.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_DATA.getValue()) {
HCNetSDK.NET_DVR_THERMOMETRY_UPLOAD data = new HCNetSDK.NET_DVR_THERMOMETRY_UPLOAD();
data.write();
Pointer pointer = data.getPointer();
pointer.write(0, lpBuffer.getByteArray(0, data.size()), 0, data.size());
data.read();
log.info("返回的数据:" + data.toString());
log.info("开始数据整理");
byte byRuleCalibType = data.byRuleCalibType;
byte byThermometryUnit = data.byThermometryUnit;
DataEaifHEntity entity = new DataEaifHEntity();
entity.setEqmid(id);
entity.setAreaid(1);
if (byThermometryUnit == HKConfigEnum.BYTHERMOMETRYUNIT.SSD.getValue()) {
entity.setUnit((byte) HKConfigEnum.BYTHERMOMETRYUNIT.SSD.getMysqlvalue());
} else if (byThermometryUnit == HKConfigEnum.BYTHERMOMETRYUNIT.HSD.getValue()) {
entity.setUnit((byte) HKConfigEnum.BYTHERMOMETRYUNIT.HSD.getMysqlvalue());
} else if (byThermometryUnit == HKConfigEnum.BYTHERMOMETRYUNIT.KEW.getValue()) {
entity.setUnit((byte) HKConfigEnum.BYTHERMOMETRYUNIT.KEW.getMysqlvalue());
}
log.info("数据整理1");
//数据库中1->点2->线3->框
if (byRuleCalibType == HKConfigEnum.BYRULECALIBTYPE.POINT.getValue()) {
float fTemperature = data.struPointThermCfg.fTemperature;
double maxtemp = new BigDecimal(fTemperature).setScale(4, BigDecimal.ROUND_DOWN).doubleValue();
entity.setMaxtemp(maxtemp);
entity.setMintemp(maxtemp);
entity.setAvgtemp(maxtemp);
entity.setType((byte) HKConfigEnum.BYRULECALIBTYPE.POINT.getMysqlvalue());
entity.setMid(Double.valueOf(0));
} else if (byRuleCalibType == HKConfigEnum.BYRULECALIBTYPE.FRAME.getValue() || byRuleCalibType == HKConfigEnum.BYRULECALIBTYPE.LINE.getValue()) {
HCNetSDK.NET_DVR_LINEPOLYGON_THERM_CFG struLinePolygonThermCfg = data.struLinePolygonThermCfg;
float fAverageTemperature = struLinePolygonThermCfg.fAverageTemperature;//平均温度
float fMinTemperature = struLinePolygonThermCfg.fMinTemperature;
float fMaxTemperature = struLinePolygonThermCfg.fMaxTemperature;
float fTemperatureDiff = struLinePolygonThermCfg.fTemperatureDiff;
entity.setMaxtemp(new BigDecimal(fMaxTemperature).setScale(4, BigDecimal.ROUND_DOWN).doubleValue());
entity.setMintemp(new BigDecimal(fMinTemperature).setScale(4, BigDecimal.ROUND_DOWN).doubleValue());
entity.setAvgtemp(new BigDecimal(fAverageTemperature).setScale(4, BigDecimal.ROUND_DOWN).doubleValue());
entity.setMid(new BigDecimal(fTemperatureDiff).setScale(4, BigDecimal.ROUND_DOWN).doubleValue());
if (byRuleCalibType == HKConfigEnum.BYRULECALIBTYPE.FRAME.getValue()) {
entity.setType((byte) HKConfigEnum.BYRULECALIBTYPE.FRAME.getMysqlvalue());
} else if (byRuleCalibType == HKConfigEnum.BYRULECALIBTYPE.LINE.getValue()) {
entity.setType((byte) HKConfigEnum.BYRULECALIBTYPE.LINE.getMysqlvalue());
}
}
log.info("数据整理2");
entity.setStd(Double.valueOf(0));
entity.setCapturetime(LocalDateTime.now());
log.info("开始插入");
log.info("数据是:" + entity.toString());
asyncService.executeAsyncTask(entity);
// Testintimpl testintimpl = new Testintimpl();
// testintimpl.test(entity);
// String sql = "INSERT INTO data_eaif_h(eqmid,areaid,capturetime,maxtemp,mintemp,avgtemp,unit,type,mid,std) values('" + 666 + "','1','" + new Date() + "','" + 1 + "','" + 1 + "','" + 1 + "','" + 1 + "','" + 1 + "','" + 1 + "','" + 1 + "')";
// System.out.println(sql);
// help.getConnection();
// int ret = help.excuteUpdate(sql);
// log.info("啦啦啦" + ret);
// try {
// conn.close();
// } catch (SQLException throwables) {
// throwables.printStackTrace();
// }
// if (test == 1) {
// DataEaifHEntity entitys = new DataEaifHEntity();
// entitys.setEqmid(384);
// entitys.setMaxtemp((double) 0);
// entitys.setAreaid(1);
// entitys.setCapturetime(LocalDateTime.now());
// entitys.setMintemp((double) 0);
// entitys.setAvgtemp((double) 0);
// entitys.setType((byte) HKConfigEnum.BYRULECALIBTYPE.POINT.getMysqlvalue());
// entitys.setMid(Double.valueOf(0));
// dataEaifHService.save(entitys);
////
//// ModevEntity entitys = new ModevEntity();
//// entitys.setModevtid(1919);
//// entitys.setZsbid(1);
//// entitys.setIedid(1);
//// entitys.setAddress(12112);
//// modevService.save(entitys);
// }
if (handle != -1) {
log.info("开始退出");
instance.NET_DVR_StopRemoteConfig(handle);
instance.NET_DVR_Logout(admin);
}
} else {
if (handle != -1) {
instance.NET_DVR_StopRemoteConfig(handle);
instance.NET_DVR_Logout(admin);
}
}
}
};
//NET_DVR_GET_REALTIME_THERMOMETRY 实时温度检测 NET_DVR_GET_MANUALTHERM_INFO 手动测温实时获取
handle = instance.NET_DVR_StartRemoteConfig(admin, HCNetSDK.NET_DVR_GET_REALTIME_THERMOMETRY, cond.getPointer(), cond.size(), cbStateCallBack, null);
if (handle < 0) {
int j = instance.NET_DVR_GetLastError();
IntByReference intByReference = new IntByReference(j);
log.error("长连接连接失败 " + "错误码:" + j + " 错误信息:" + instance.NET_DVR_GetErrorMsg(intByReference));
} else {
log.info("长连接连接成功!!!");
}
// try {
// Thread.sleep(5000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
} else {
log.error("登录失败 " + "IP:" + ip + " " + port);
}
}
} else {
log.info("尚未配置红外设备!!!");
}
}
}

@ -2,10 +2,17 @@ package com.shxy.xyhkcamera.utils;
import com.shxy.xyhkcamera.entity.DataEaifHEntity;
import com.shxy.xyhkcamera.service.DataEaifHService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.*;
@Component
public class CommonUtil {
//SDK时间解析
public static String parseTime(int time) {
int year = (time >> 26) + 2000;

@ -1,7 +1,7 @@
# 开发环境配置
server:
# 服务器的HTTP端口默认为8080
port: 8095
port: 8096
servlet:
# 应用的访问路径
context-path: /xymanager
@ -18,8 +18,8 @@ server:
min-spare: 100
hkconfig:
winpath: D:\\Workspace\\HK\\HCNetSDK.dll
linuxpath: ere
user: admin
password: SHxy@510
spring:
task:
@ -79,16 +79,16 @@ mybatis-plus:
#开启驼峰命名自动映射
map-underscore-to-camel-case: true
#开启日志打印
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# entity包路径,自行修改
type-aliases-package: com.shxy.xyhkcamera.entity
#扫描mapper文件
mapper-locations: classpath:mapper/*.xml
mapper-locations: classpath:/com/shxy/xyhkcamera/mapper/xml/*.xml
# 日志配置
logging:
config: classpath:log4j2.xml
level:
com.shxy: trace
com.shxy: debug
org.springframework: warn

@ -24,7 +24,7 @@ class XyhkcameraApplicationTests {
HcNetSdkUtil hcNetSdkUtil;
@Autowired
ModevServiceImp modevService;
ModevService modevService;
@Autowired
ModevMapper modevMapper;
@ -42,47 +42,47 @@ class XyhkcameraApplicationTests {
// String loadLibrary = OSUtils.getLoadLibrary();
// System.out.println(loadLibrary);
hcNetSdkUtil.init();
HCNetSDK instance = hcNetSdkUtil.createSDKInstance();
int admin = hcNetSdkUtil.login_V40("192.168.1.64", (short) 8000, "admin", "SHxy@510");
if (admin != -1) {
HCNetSDK.NET_DVR_REALTIME_THERMOMETRY_COND cond = new HCNetSDK.NET_DVR_REALTIME_THERMOMETRY_COND();
cond.read();
cond.dwSize = cond.size();
cond.byRuleID = 0;
cond.dwChan = 2;
cond.write();
HCNetSDK.FRemoteConfigCallBack cbStateCallBack = new HCNetSDK.FRemoteConfigCallBack() {
@Override
public void invoke(int dwType, Pointer lpBuffer, int dwBufLen, Pointer pUserData) {
System.out.println("报警事件类型: lCommand:" + Integer.toHexString(dwType));
HCNetSDK.NET_DVR_THERMOMETRY_UPLOAD byte_array1 = new HCNetSDK.NET_DVR_THERMOMETRY_UPLOAD();
byte_array1.write();
Pointer pbyte_array1 = byte_array1.getPointer();
pbyte_array1.write(0, lpBuffer.getByteArray(0, byte_array1.size()), 0, byte_array1.size());
byte_array1.read();
System.out.println("dfsdafd");
System.out.println("dfsafasd");
// instance.NET_DVR_StopRemoteConfig(handle);
}
};
handle = instance.NET_DVR_StartRemoteConfig(admin, HCNetSDK.NET_DVR_GET_REALTIME_THERMOMETRY, cond.getPointer(), cond.size(), cbStateCallBack, null);
if (handle < 0) {
int i = instance.NET_DVR_GetLastError();
IntByReference intByReference = new IntByReference(i);
System.out.println(i + " " + instance.NET_DVR_GetErrorMsg(intByReference));
}
System.out.println("fdsafa");
}
// hcNetSdkUtil.init();
// HCNetSDK instance = hcNetSdkUtil.createSDKInstance();
// int admin = hcNetSdkUtil.login_V40("192.168.1.64", (short) 8000, "admin", "SHxy@510");
// if (admin != -1) {
// HCNetSDK.NET_DVR_REALTIME_THERMOMETRY_COND cond = new HCNetSDK.NET_DVR_REALTIME_THERMOMETRY_COND();
// cond.read();
// cond.dwSize = cond.size();
// cond.byRuleID = 0;
// cond.dwChan = 2;
// cond.write();
// HCNetSDK.FRemoteConfigCallBack cbStateCallBack = new HCNetSDK.FRemoteConfigCallBack() {
// @Override
// public void invoke(int dwType, Pointer lpBuffer, int dwBufLen, Pointer pUserData) {
//
// System.out.println("报警事件类型: lCommand:" + Integer.toHexString(dwType));
// HCNetSDK.NET_DVR_THERMOMETRY_UPLOAD byte_array1 = new HCNetSDK.NET_DVR_THERMOMETRY_UPLOAD();
// byte_array1.write();
// Pointer pbyte_array1 = byte_array1.getPointer();
// pbyte_array1.write(0, lpBuffer.getByteArray(0, byte_array1.size()), 0, byte_array1.size());
// byte_array1.read();
// System.out.println("dfsdafd");
//
//
// System.out.println("dfsafasd");
//// instance.NET_DVR_StopRemoteConfig(handle);
//
// }
// };
// handle = instance.NET_DVR_StartRemoteConfig(admin, HCNetSDK.NET_DVR_GET_REALTIME_THERMOMETRY, cond.getPointer(), cond.size(), cbStateCallBack, null);
// if (handle < 0) {
// int i = instance.NET_DVR_GetLastError();
// IntByReference intByReference = new IntByReference(i);
// System.out.println(i + " " + instance.NET_DVR_GetErrorMsg(intByReference));
// }
// System.out.println("fdsafa");
// }
// tempMeasureService.measure();
// List<ModevEntity> list = modevService.list(Wrappers.lambdaQuery(ModevEntity.class).eq(ModevEntity::getModevtid, 10));
// System.out.println(list);
List<ModevEntity> list = modevService.list(Wrappers.lambdaQuery(ModevEntity.class).eq(ModevEntity::getModevtid, 10));
System.out.println(list);
// List<ModevEntity> modevEntities = modevMapper.selectList(Wrappers.lambdaQuery(ModevEntity.class).eq(ModevEntity::getModevtid, 10));
// System.out.println(modevEntities);

Loading…
Cancel
Save