From 659d3e60c6fe5e5bcd8c4cbb3dd8077e29f13a38 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Mon, 13 May 2024 18:54:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/AsyncHkEventService.java | 82 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 82 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/AsyncHkEventService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/AsyncHkEventService.java
new file mode 100644
index 0000000..aca63c4
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/AsyncHkEventService.java
@@ -0,0 +1,82 @@
+package cn.gistack.sm.hk.service;
+
+import cn.gistack.sm.hk.constant.HkEventConstant;
+import cn.gistack.sm.hk.entity.HkEvent;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component
+@Slf4j
+public class AsyncHkEventService {
+
+ @Autowired
+ private HkEventService hkEventService;
+
+ /**
+ * 异步加载海康视频事件
+ * @param jsonData
+ */
+ @Async
+ public void saveHkEventInfo(String jsonData){
+ JSONObject jsonObject = JSONObject.parseObject(jsonData);
+ String params = jsonObject.get("params").toString();
+ JSONObject parseObject = JSONObject.parseObject(params);
+ JSONArray eventsArray = parseObject.getJSONArray("events");
+ Date sendTime = parseObject.getDate("sendTime");
+ for (int i = 0; i < eventsArray.size(); i++) {
+ HkEvent hkEvent = new HkEvent();
+ hkEvent.setEventId(eventsArray.getJSONObject(i).getString("eventId"));
+ hkEvent.setEventType(eventsArray.getJSONObject(i).getLong("eventType"));
+ hkEvent.setSrcIndex(eventsArray.getJSONObject(i).getString("srcIndex"));
+ hkEvent.setSrcName(eventsArray.getJSONObject(i).getString("srcName"));
+ hkEvent.setSrcType(eventsArray.getJSONObject(i).getString("srcType"));
+ hkEvent.setSrcParentIndex(eventsArray.getJSONObject(i).getString("srcParentIndex"));
+ hkEvent.setTimeout(eventsArray.getJSONObject(i).getLong("timeout"));
+ hkEvent.setHappenTime(eventsArray.getJSONObject(i).getDate("happenTime"));
+ hkEvent.setStatus(eventsArray.getJSONObject(i).getInteger("status"));
+ hkEvent.setEventLvl(eventsArray.getJSONObject(i).getInteger("eventLvl"));
+ hkEvent.setCreateTime(new Date());
+ hkEvent.setSendTime(sendTime);
+ hkEvent.setImageUrl(setImageUrl(eventsArray,i));
+ // 保存
+ hkEventService.save(hkEvent);
+ }
+ }
+
+ /**
+ * 设置图片路径
+ * @param eventsArray
+ * @param i
+ * @return
+ */
+ private String setImageUrl(JSONArray eventsArray, int i) {
+ String eventType = eventsArray.getJSONObject(i).getLong("eventType").toString();
+ // 如果是非算法事件处理
+ if (HkEventConstant.videoList.contains(eventType)){
+ String columns = HkEventConstant.videoMap.get(eventType);
+ if (!Strings.isBlank(columns)){
+ String data = eventsArray.getJSONObject(i).getString("data");
+ JSONObject parseObject = JSONObject.parseObject(data);
+ JSONArray columnsJSONArray = parseObject.getJSONArray(columns);
+ if (null!= columnsJSONArray && columnsJSONArray.size()>0) {
+// log.info("img:" + columnsJSONArray.getJSONObject(0).getString("imageUrl"));
+ return columnsJSONArray.getJSONObject(0).getString("imageUrl");
+ }
+ }
+ return null;
+ }
+ // 算法事件处理
+ if (HkEventConstant.artVideoList.contains(eventType)){
+// log.info("img:" + eventsArray.getJSONObject(i).getString("refrencePicUrl"));
+ return eventsArray.getJSONObject(i).getString("refrencePicUrl");
+ }
+ return null;
+ }
+}
--
Gitblit v1.9.3