zhongrj
2024-05-09 7a3afa9e4981f2f89222f83a7abb86836102e1c0
事件接收调整
2 files modified
1 files added
111 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkEventConstant.java 70 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/AsyncHkEventService.java 35 ●●●●● patch | view | raw | blame | history
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;
    }
}