skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkEventConstant.java
New file @@ -0,0 +1,70 @@ package cn.gistack.sm.hk.constant; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class HkEventConstant { /** * 事情事件编号 * 视频丢失 131329 * 视频遮挡 131330 * 移动侦测 131331 * 越界侦测 131585 * 区域入侵 131588 * 徘徊侦测 131590 * 人员聚集 131593 */ public static List<String> videoList = new ArrayList<>() {{ add("131329"); add("131330"); add("131331"); add("131585"); add("131588"); add("131590"); add("131593"); }}; /** * 算法事件编号 * 旷野垃圾堆检测 72057594155375360 * 水面漂浮物检测 72057594155372032 * 钓鱼检测 72057594155375872 * 水体颜色识别 72057594155377920 * 水岸洗衣识别 72057594155387392 * 游泳检测 72057594155376384 * 水体泡沫识别 72057594155484938 * 违法建设变化检测 72057594155479818 */ public static List<String> artVideoList = new ArrayList<>() {{ add("72057594155375360"); add("72057594155372032"); add("72057594155375872"); add("72057594155377920"); add("72057594155387392"); add("72057594155376384"); add("72057594155484938"); add("72057594155479818"); }}; /** * */ public static Map<String,String> videoMap = new HashMap() {{ put("131329",""); put("131330",""); put("131331",""); put("131585","linedetection"); put("131588","fielddetection"); put("131590","loitering"); put("131593","group"); }}; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java
@@ -115,4 +115,10 @@ @ApiModelProperty(value = "创建时间") @TableField(value = "create_time",fill = FieldFill.INSERT) private Date createTime; /** * 图片url */ @ApiModelProperty(value = "图片url") private String imageUrl; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/AsyncHkEventService.java
@@ -1,8 +1,11 @@ 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; @@ -10,6 +13,7 @@ import java.util.Date; @Component @Slf4j public class AsyncHkEventService { @Autowired @@ -40,8 +44,39 @@ 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; } }