From 1f45c25ea725445d7e78e8d5da6e72150f35f2eb Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 20 十二月 2024 11:09:30 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server --- ycl-platform/src/main/java/com/dahua/netsdk/lib/callback/impl/AnalyzerDataCB.java | 337 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 213 insertions(+), 124 deletions(-) diff --git a/ycl-platform/src/main/java/com/dahua/netsdk/lib/callback/impl/AnalyzerDataCB.java b/ycl-platform/src/main/java/com/dahua/netsdk/lib/callback/impl/AnalyzerDataCB.java index f1b14bc..c436f9e 100644 --- a/ycl-platform/src/main/java/com/dahua/netsdk/lib/callback/impl/AnalyzerDataCB.java +++ b/ycl-platform/src/main/java/com/dahua/netsdk/lib/callback/impl/AnalyzerDataCB.java @@ -3,8 +3,12 @@ import java.io.ByteArrayInputStream; import java.io.File; import java.nio.charset.Charset; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; +import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; import com.dahua.netsdk.lib.Utils; import com.dahua.netsdk.lib.enumeration.EM_EVENT_IVS_TYPE; @@ -12,23 +16,33 @@ import com.sun.jna.Pointer; import com.dahua.netsdk.lib.NetSDKLib; import com.dahua.netsdk.lib.ToolKits; +import com.ycl.common.constant.GlobalQueue; import com.ycl.entity.video.VideoAlarmReport; +import com.ycl.entity.video.VideoPoint; +import com.ycl.service.caseHandler.IViolationsService; +import com.ycl.service.caseHandler.impl.ViolationsServiceImpl; import com.ycl.service.oss.OssService; +import com.ycl.service.oss.impl.OssServiceImpl; +import com.ycl.service.redis.RedisService; +import com.ycl.service.video.IVideoAlarmReportService; +import com.ycl.service.video.impl.IVideoPointService; +import com.ycl.service.video.impl.VideoAlarmReportServiceImpl; +import com.ycl.service.video.impl.VideoPointServiceImpl; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; /** * 鏅鸿兘鎶ヨ浜嬩欢鍥炶皟 */ +@Component public class AnalyzerDataCB implements NetSDKLib.fAnalyzerDataCallBack { - - - @Autowired - private OssService ossService; private final File picturePath; private static AnalyzerDataCB instance; - private AnalyzerDataCB() { + public AnalyzerDataCB() { picturePath = new File("./AnalyzerPicture/"); if (!picturePath.exists()) { picturePath.mkdirs(); @@ -84,7 +98,7 @@ ToolKits.GetPointerData(pAlarmInfo, msg); String Picture = picturePath + "\\" + System.currentTimeMillis() + ".jpg"; ToolKits.savePicture(pBuffer, 0, dwBufSize, Picture); - System.out.println(" 鏂楁浜嬩欢 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID); +// System.out.println(" 鏂楁浜嬩欢 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID); break; } case EVENT_IVS_RIOTERDETECTION: // 鑱氫紬浜嬩欢 @@ -101,115 +115,179 @@ { NetSDKLib.DEV_EVENT_MANNUM_DETECTION_INFO msg = new NetSDKLib.DEV_EVENT_MANNUM_DETECTION_INFO(); ToolKits.GetPointerData(pAlarmInfo, msg); - System.out.println(" 绔嬩綋瑙嗚鍖哄煙鍐呬汉鏁扮粺璁′簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + " 鍖哄煙浜哄憳鍒楄〃鏁伴噺:" - + msg.nManListCount + " 浜哄憳韬珮:" + msg.stuManList[0].nStature); +// System.out.println(" 绔嬩綋瑙嗚鍖哄煙鍐呬汉鏁扮粺璁′簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + " 鍖哄煙浜哄憳鍒楄〃鏁伴噺:" +// + msg.nManListCount + " 浜哄憳韬珮:" + msg.stuManList[0].nStature); break; } case EVENT_IVS_CROWDDETECTION: /// < 浜虹兢瀵嗗害妫�娴嬩簨浠� { NetSDKLib.DEV_EVENT_CROWD_DETECTION_INFO msg = new NetSDKLib.DEV_EVENT_CROWD_DETECTION_INFO(); ToolKits.GetPointerData(pAlarmInfo, msg); - System.out.println(" 浜虹兢瀵嗗害妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID); +// System.out.println(" 浜虹兢瀵嗗害妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID); break; } case EVENT_IVS_CITY_MOTORPARKING: /// 1 鍩庡競鏈哄姩杞﹁繚鍋滀簨浠� { - NetSDKLib.DEV_EVENT_CITY_MOTORPARKING_INFO msg = new NetSDKLib.DEV_EVENT_CITY_MOTORPARKING_INFO(); - ToolKits.GetPointerData(pAlarmInfo, msg); - stuFileInfo = msg.stuFileInfo; - System.out.println(" 鍩庡競鏈哄姩杞﹁繚鍋滀簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "杩濆仠鎸佺画鏃堕暱(鍗曚綅绉�)锛�" - + msg.nParkingDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�:" + msg.nObjectNum); - System.out.println("stuEventInfoEx = " + msg.stuEventInfoEx.toString()); - System.out.println("byVehicleHeadDirection = " + msg.byVehicleHeadDirection); - if (stuFileInfo != null) { // 淇濆瓨鍥剧墖 - String bigPicture = picturePath + File.separator - + String.format("Big_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, - stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, - stuFileInfo.bFileType, stuFileInfo.nGroupId); - ToolKits.savePicture(pBuffer, 0, dwBufSize, bigPicture); - if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { - String smallPicture = picturePath + File.separator - + String.format("Small_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, - stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, - stuFileInfo.bFileType, stuFileInfo.nGroupId); - ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); - } - } - if (msg.nImageInfoNum > 0) { - System.out.println("Picture Arr got, number +" + msg.nImageInfoNum); - NET_IMAGE_INFO_EX2[] pstuImageInfo = new NET_IMAGE_INFO_EX2[msg.nImageInfoNum]; - for (int i = 0; i < msg.nImageInfoNum; i++) { - pstuImageInfo[i] = new NET_IMAGE_INFO_EX2(); - } - ToolKits.GetPointerDataToStructArr(msg.pstuImageInfo, pstuImageInfo); - for (int i = 0; i < msg.nImageInfoNum; i++) { - System.out.println("pstuImageInfo[" + i + "].nOffset:" + pstuImageInfo[i].nOffset); - System.out.println("pstuImageInfo[" + i + "].nLength:" + pstuImageInfo[i].nLength); - if (pstuImageInfo != null && pstuImageInfo[i].nLength > 0) { - System.out.println("pstuImageInfo[" + i + "] picture received!"); - String bigPicture = picturePath + "\\" + System.currentTimeMillis() - + "related_MOTORPARKING_pstuImageInfo_" + i + ".jpg"; - ToolKits.savePicture(pBuffer, pstuImageInfo[i].nOffset, pstuImageInfo[i].nLength, bigPicture); - } - } + NetSDKLib.DEV_EVENT_CITY_MOTORPARKING_INFO info = new NetSDKLib.DEV_EVENT_CITY_MOTORPARKING_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); - } + // videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("鏈哄姩杞︿贡鍋滄斁"); + + stuFileInfo = info.stuFileInfo; +// System.out.println(" 鍩庡競鏈哄姩杞﹁繚鍋滀簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "杩濆仠鎸佺画鏃堕暱(鍗曚綅绉�)锛�" +// + info.nParkingDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�:" + info.nObjectNum); + +// if (stuFileInfo != null) { // 淇濆瓨鍥剧墖 +// String bigPicture = picturePath + File.separator +// + String.format("Big_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, +// stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, +// stuFileInfo.bFileType, stuFileInfo.nGroupId); +// ToolKits.savePicture(pBuffer, 0, dwBufSize, bigPicture); +// if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { +// String smallPicture = picturePath + File.separator +// + String.format("Small_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, +// stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, +// stuFileInfo.bFileType, stuFileInfo.nGroupId); +// ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); +// } +// } +// if (msg.nImageInfoNum > 0) { +// System.out.println("Picture Arr got, number +" + msg.nImageInfoNum); +// NET_IMAGE_INFO_EX2[] pstuImageInfo = new NET_IMAGE_INFO_EX2[msg.nImageInfoNum]; +// for (int i = 0; i < msg.nImageInfoNum; i++) { +// pstuImageInfo[i] = new NET_IMAGE_INFO_EX2(); +// } +// ToolKits.GetPointerDataToStructArr(msg.pstuImageInfo, pstuImageInfo); +// for (int i = 0; i < msg.nImageInfoNum; i++) { +// System.out.println("pstuImageInfo[" + i + "].nOffset:" + pstuImageInfo[i].nOffset); +// System.out.println("pstuImageInfo[" + i + "].nLength:" + pstuImageInfo[i].nLength); +// if (pstuImageInfo != null && pstuImageInfo[i].nLength > 0) { +// System.out.println("pstuImageInfo[" + i + "] picture received!"); +// String bigPicture = picturePath + "\\" + System.currentTimeMillis() +// + "related_MOTORPARKING_pstuImageInfo_" + i + ".jpg"; +// ToolKits.savePicture(pBuffer, pstuImageInfo[i].nOffset, pstuImageInfo[i].nLength, bigPicture); +// } +// } +// +// } break; } case EVENT_IVS_CITY_NONMOTORPARKING: /// 2 鍩庡競闈炴満鍔ㄨ溅杩濆仠浜嬩欢 { - NetSDKLib.DEV_EVENT_CITY_NONMOTORPARKING_INFO msg = new NetSDKLib.DEV_EVENT_CITY_NONMOTORPARKING_INFO(); - ToolKits.GetPointerData(pAlarmInfo, msg); - stuFileInfo = msg.stuFileInfo; - System.out.println( - " 鍩庡競闈炴満鍔ㄨ溅杩濆仠浜嬩欢 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "妫�娴嬪埌鐨勭墿浣撲釜鏁�:" + msg.nObjectNum); + NetSDKLib.DEV_EVENT_CITY_NONMOTORPARKING_INFO info = new NetSDKLib.DEV_EVENT_CITY_NONMOTORPARKING_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); + +// System.out.println(JSON.toJSONString(info)); +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("闈炴満鍔ㄨ溅涔卞仠鏀�"); + + stuFileInfo = info.stuFileInfo; +// System.out.println( +// " 鍩庡競闈炴満鍔ㄨ溅杩濆仠浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "妫�娴嬪埌鐨勭墿浣撲釜鏁�:" + info.nObjectNum); break; } case EVENT_IVS_HOLD_UMBRELLA: /// 6 杩濊鎾戜紴妫�娴嬩簨浠� { - NetSDKLib.DEV_EVENT_HOLD_UMBRELLA_INFO msg = new NetSDKLib.DEV_EVENT_HOLD_UMBRELLA_INFO(); - ToolKits.GetPointerData(pAlarmInfo, msg); - stuFileInfo = msg.stuFileInfo; - System.out.println( - " 杩濊鎾戜紴妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" + msg.nViolationDuration); + NetSDKLib.DEV_EVENT_HOLD_UMBRELLA_INFO info = new NetSDKLib.DEV_EVENT_HOLD_UMBRELLA_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); + +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("杩濊鎾戜紴"); + + stuFileInfo = info.stuFileInfo; +// System.out.println( +// " 杩濊鎾戜紴妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" + info.nViolationDuration); break; } case EVENT_IVS_SHOPPRESENCE: /// 7 鍗犻亾缁忚惀 { - NetSDKLib.DEV_EVENT_SHOPPRESENCE_INFO msg = new NetSDKLib.DEV_EVENT_SHOPPRESENCE_INFO(); - ToolKits.GetPointerData(pAlarmInfo, msg); + NetSDKLib.DEV_EVENT_SHOPPRESENCE_INFO info = new NetSDKLib.DEV_EVENT_SHOPPRESENCE_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("鍗犻亾缁忚惀"); + + stuFileInfo = info.stuFileInfo; +// System.out.println(" 鍗犻亾缁忚惀妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" +// + info.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + info.nObjectNum); + break; } case EVENT_IVS_DUSTBIN_OVER_FLOW: /// 9 鍨冨溇妗舵弧婧㈡娴嬩簨浠� { - NetSDKLib.DEV_EVENT_DUSTBIN_OVER_FLOW_INFO msg = new NetSDKLib.DEV_EVENT_DUSTBIN_OVER_FLOW_INFO(); - ToolKits.GetPointerData(pAlarmInfo, msg); - stuFileInfo = msg.stuFileInfo; - System.out.println(" 鍨冨溇妗舵弧婧㈡娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" - + msg.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + msg.nObjectNum); + NetSDKLib.DEV_EVENT_DUSTBIN_OVER_FLOW_INFO info = new NetSDKLib.DEV_EVENT_DUSTBIN_OVER_FLOW_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); + +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("鍨冨溇绠辨弧婧�"); + + stuFileInfo = info.stuFileInfo; +// System.out.println(" 鍨冨溇妗舵弧婧㈡娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" +// + info.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + info.nObjectNum); break; } case EVENT_IVS_GARBAGE_PLASTICBAG: /// 10 鎵撳寘鍨冨溇 { + NetSDKLib.DEV_EVENT_GARBAGE_EXPOSURE_INFO info = new NetSDKLib.DEV_EVENT_GARBAGE_EXPOSURE_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("鎵撳寘鍨冨溇"); + + stuFileInfo = info.stuFileInfo; +// System.out.println(" 鎵撳寘鍨冨溇妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" +// + info.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + info.nObjectNum); + break; } case EVENT_IVS_DOOR_FRONT_DIRTY: /// < 闂ㄥ墠鑴忎贡妫�娴嬩簨浠� { NetSDKLib.DEV_EVENT_DOOR_FRONT_DIRTY_INFO msg = new NetSDKLib.DEV_EVENT_DOOR_FRONT_DIRTY_INFO(); ToolKits.GetPointerData(pAlarmInfo, msg); stuFileInfo = msg.stuFileInfo; - System.out.println(" 闂ㄥ墠鑴忎贡妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" - + msg.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + msg.nObjectNum); +// System.out.println(" 闂ㄥ墠鑴忎贡妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" +// + msg.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + msg.nObjectNum); break; } case EVENT_IVS_GARBAGE_EXPOSURE: /// 11 鍨冨溇鏆撮湶妫�娴嬩簨浠� { - NetSDKLib.DEV_EVENT_GARBAGE_EXPOSURE_INFO msg = new NetSDKLib.DEV_EVENT_GARBAGE_EXPOSURE_INFO(); - ToolKits.GetPointerData(pAlarmInfo, msg); - stuFileInfo = msg.stuFileInfo; - System.out.println(" 鍨冨溇鏆撮湶妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" - + msg.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + msg.nObjectNum); + NetSDKLib.DEV_EVENT_GARBAGE_EXPOSURE_INFO info = new NetSDKLib.DEV_EVENT_GARBAGE_EXPOSURE_INFO(); + ToolKits.GetPointerData(pAlarmInfo, info); + +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("鏆撮湶鍨冨溇"); + + stuFileInfo = info.stuFileInfo; +// System.out.println(" 鍨冨溇鏆撮湶妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + "杩濇硶鎸佺画鏃堕暱(鍗曚綅绉�)" +// + info.nViolationDuration + "妫�娴嬪埌鐨勭墿浣撲釜鏁�" + info.nObjectNum); break; } case EVENT_IVS_VIOLENT_THROW_DETECTION: /// < 鏆村姏鎶涚墿浜嬩欢浜嬩欢 @@ -221,8 +299,8 @@ ToolKits.savePicture(pBuffer, msg.stuSceneImage.nOffSet, msg.stuSceneImage.nLength, bigPicture); } stuFileInfo = msg.stuFileInfo; - System.out.println(" 鏆村姏鎶涚墿浜嬩欢浜嬩欢 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "鏆村姏鎶涚墿妫�娴嬪尯鍩熷悕绉�" - + new String(msg.szRegionName, Charset.forName(Utils.getPlatformEncode()))); +// System.out.println(" 鏆村姏鎶涚墿浜嬩欢浜嬩欢 鏃堕棿(UTC)锛�" + msg.UTC + " 閫氶亾鍙�:" + msg.nChannelID + "鏆村姏鎶涚墿妫�娴嬪尯鍩熷悕绉�" +// + new String(msg.szRegionName, Charset.forName(Utils.getPlatformEncode()))); break; } case EVENT_IVS_SHOP_WINDOW_POST:// 姗辩獥寮犺创浜嬩欢 @@ -230,9 +308,9 @@ DEV_EVENT_SHOP_WINDOW_POST_INFO info = new DEV_EVENT_SHOP_WINDOW_POST_INFO(); ToolKits.GetPointerData(pAlarmInfo, info); stuFileInfo = info.stuFileInfo; - System.out.println(" 姗辩獥寮犺创浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 鍟嗛摵鍦板潃: " - + new String(info.szShopAddress, Charset.forName(Utils.getPlatformEncode())).trim() + " 杩濇硶鎸佺画鏃堕棿: " - + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); +// System.out.println(" 姗辩獥寮犺创浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 鍟嗛摵鍦板潃: " +// + new String(info.szShopAddress, Charset.forName(Utils.getPlatformEncode())).trim() + " 杩濇硶鎸佺画鏃堕棿: " +// + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); for (int i = 0; i < info.nObjectNum; i++) { stPicInfo = info.stuObjects[i].stPicInfo; if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { @@ -250,57 +328,63 @@ { DEV_EVENT_STREET_SUNCURE_INFO info = new DEV_EVENT_STREET_SUNCURE_INFO(); ToolKits.GetPointerData(pAlarmInfo, info); + +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("娌胯鏅炬寕"); + stuFileInfo = info.stuFileInfo; - System.out.println(" 娌胯鏅炬檼浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 杩濇硶鎸佺画鏃堕棿: " - + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); - for (int i = 0; i < info.nObjectNum; i++) { - stPicInfo = info.stuObjects[i].stPicInfo; - if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { - String smallPicture = picturePath + File.separator - + String.format("Small_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, - stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, - stuFileInfo.bFileType, stuFileInfo.nGroupId); - ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); - } - } +// System.out.println(" 娌胯鏅炬檼浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 杩濇硶鎸佺画鏃堕棿: " +// + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); + break; } case EVENT_IVS_OUTDOOR_ADVERTISEMENT: // 14 鎴峰骞垮憡浜嬩欢 { DEV_EVENT_OUTDOOR_ADVERTISEMENT_INFO info = new DEV_EVENT_OUTDOOR_ADVERTISEMENT_INFO(); ToolKits.GetPointerData(pAlarmInfo, info); + +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("杩濊鎴峰骞垮憡"); + stuFileInfo = info.stuFileInfo; - System.out.println(" 鎴峰骞垮憡浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 杩濇硶鎸佺画鏃堕棿: " - + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); - for (int i = 0; i < info.nObjectNum; i++) { - stPicInfo = info.stuObjects[i].stPicInfo; - if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { - String smallPicture = picturePath + File.separator - + String.format("Small_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, - stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, - stuFileInfo.bFileType, stuFileInfo.nGroupId); - ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); - } - } +// System.out.println(" 鎴峰骞垮憡浜嬩欢 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 杩濇硶鎸佺画鏃堕棿: " +// + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); + + break; } - case EVENT_IVS_HUDDLE_MATERIAL:// 13 涔卞爢鐗╂枡妫�娴嬩簨浠� id 648 + case EVENT_IVS_HUDDLE_MATERIAL:// 13 涔卞爢鐗╂枡妫�娴嬩簨浠� id 648 涔卞爢鐗╂枡 { DEV_EVENT_HUDDLE_MATERIAL_INFO info = new DEV_EVENT_HUDDLE_MATERIAL_INFO(); ToolKits.GetPointerData(pAlarmInfo, info); +// videoAlarmReport.setAlarmObj(JSON.toJSONString(info)); + videoAlarmReport.setAlarmTime(LocalDateTime.of(info.UTC.dwYear, info.UTC.dwMonth, info.UTC.dwDay, info.UTC.dwHour, info.UTC.dwMinute, info.UTC.dwSecond)); + + videoAlarmReport.setChannel(String.valueOf(info.nChannelID)); + videoAlarmReport.setAlarmId(String.valueOf(info.nEventID)); + videoAlarmReport.setAlarmName("涔卞爢鐗╂枡"); + stuFileInfo = info.stuFileInfo; - System.out.println(" 涔卞爢鐗╂枡妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 杩濇硶鎸佺画鏃堕棿: " - + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); - for (int i = 0; i < info.nObjectNum; i++) { - stPicInfo = info.stuObjects[i].stPicInfo; - if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { - String smallPicture = picturePath + File.separator - + String.format("Small_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, - stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, - stuFileInfo.bFileType, stuFileInfo.nGroupId); - ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); - } - } +// System.out.println(" 涔卞爢鐗╂枡妫�娴嬩簨浠� 鏃堕棿(UTC)锛�" + info.UTC + " 閫氶亾鍙�:" + info.nChannelID + " 杩濇硶鎸佺画鏃堕棿: " +// + info.nViolationDuration + " 妫�娴嬪埌鐨勭墿浣撴暟閲�: " + info.nObjectNum); +// for (int i = 0; i < info.nObjectNum; i++) { +// stPicInfo = info.stuObjects[i].stPicInfo; +// if (stPicInfo != null && stPicInfo.dwFileLenth > 0) { +// String smallPicture = picturePath + File.separator +// + String.format("Small_%d_%s_%d_%d_%d_%d.jpg", dwAlarmType, +// stuFileInfo.stuFileTime.toStringTitle(), stuFileInfo.bCount, stuFileInfo.bIndex, +// stuFileInfo.bFileType, stuFileInfo.nGroupId); +// ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); +// } +// } break; } case EVENT_IVS_TRASH_WITHOUT_COVER_DETECTION: //鍨冨溇妗舵湭鐩栫洊瀛愭娴嬩簨浠� @@ -312,17 +396,17 @@ ToolKits.GetPointerDataToStruct(pAlarmInfo, 0, trashEvent); String date = trashEvent.UTC.toStringTime(); - System.out.println("nChannelID = " + trashEvent.nChannelID); - System.out.println("szName(GBK) = " + new String(trashEvent.szName, Charset.forName("GBK"))); - System.out.println("szName(UTF-8) = " + new String(trashEvent.szName, Charset.forName("UTF-8"))); - System.out.println("nImageInfoNum = " + trashEvent.nImageInfoNum); - System.out.println("UTC = " + trashEvent.UTC.toStringTime()); +// System.out.println("nChannelID = " + trashEvent.nChannelID); +// System.out.println("szName(GBK) = " + new String(trashEvent.szName, Charset.forName("GBK"))); +// System.out.println("szName(UTF-8) = " + new String(trashEvent.szName, Charset.forName("UTF-8"))); +// System.out.println("nImageInfoNum = " + trashEvent.nImageInfoNum); +// System.out.println("UTC = " + trashEvent.UTC.toStringTime()); // save the picture String imageName = "trashEvent_" + trashEvent.UTC.toStringTitle() + ".jpg"; String savePath = picturePath + "/" + imageName; ToolKits.savePicture(pBuffer, dwBufSize, savePath); - System.out.println("save picture to " + savePath); +// System.out.println("save picture to " + savePath); break; } @@ -344,11 +428,16 @@ // stuFileInfo.bFileType, stuFileInfo.nGroupId); // ToolKits.savePicture(pBuffer, stPicInfo.dwOffSet, stPicInfo.dwFileLenth, smallPicture); // } - String extension = "jpg"; - String picData = ossService.uploadImages(new ByteArrayInputStream(pBuffer.getByteArray(stPicInfo.dwOffSet, dwBufSize)), extension); - videoAlarmReport.setPicData(picData); +// try { + byte[] bytes = pBuffer.getByteArray(0, dwBufSize); + videoAlarmReport.setPicByte(bytes); +// } catch (Exception ex) { +// System.out.println("淇濆瓨鍥剧墖閿欒锛�"); +// System.out.println(ex); +// } } - + if (!StringUtils.isEmpty(videoAlarmReport.getAlarmName())) + GlobalQueue.add(videoAlarmReport); return 0; } -- Gitblit v1.8.0