Ver Fonte

1、优化十个类型事件对应的图片获取逻辑,增加访问AGox获取场景图片的逻辑;

james há 1 semana atrás
pai
commit
36a90ec9cf
27 ficheiros alterados com 3042 adições e 150 exclusões
  1. 5 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/controller/web/SasAgboxConfigController.java
  2. 21 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/controller/web/SasPatrolUserParamController.java
  3. 53 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/domain/SasPatrolUserParam.java
  4. 16 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/mapper/SasPatrolUserParamMapper.java
  5. 191 149
      service-sas/service-sas-biz/src/main/java/com/usky/sas/mqtt/MqttService.java
  6. 2 1
      service-sas/service-sas-biz/src/main/java/com/usky/sas/mqtt/dto/CollectionEventMessage.java
  7. 16 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/SasPatrolUserParamService.java
  8. 20 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/impl/SasPatrolUserParamServiceImpl.java
  9. 2 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/impl/SasSystemConfigServiceImpl.java
  10. 285 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventInfo.java
  11. 63 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventInfoResult.java
  12. 107 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventInfoVo.java
  13. 125 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventResult.java
  14. 372 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventInfo.java
  15. 63 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventInfoResult.java
  16. 107 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventInfoVo.java
  17. 125 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventResult.java
  18. 319 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventInfo.java
  19. 64 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventInfoResult.java
  20. 107 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventInfoVo.java
  21. 104 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventResult.java
  22. 411 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventInfo.java
  23. 63 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventInfoResult.java
  24. 107 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventInfoVo.java
  25. 168 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventResult.java
  26. 111 0
      service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/UserParams.java
  27. 15 0
      service-sas/service-sas-biz/src/main/resources/mapper/pm/SasPatrolUserParamMapper.xml

+ 5 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/controller/web/SasAgboxConfigController.java

@@ -51,6 +51,11 @@ public class SasAgboxConfigController {
     @PutMapping("/config")
     public ApiResult<Void> updateConfig(@RequestBody SasConfig config) {
         sasConfigService.updateConfig(config);
+        if (this.mqttService.getConnectionStatus()) {
+            this.mqttService.disconnect();
+        }
+
+        this.mqttService.reconnect();
         return ApiResult.success();
     }
 

+ 21 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/controller/web/SasPatrolUserParamController.java

@@ -0,0 +1,21 @@
+package com.usky.sas.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 实时电子巡检用户参数表 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2026-03-16
+ */
+@Controller
+@RequestMapping("/sasPatrolUserParam")
+public class SasPatrolUserParamController {
+
+}
+

+ 53 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/domain/SasPatrolUserParam.java

@@ -0,0 +1,53 @@
+package com.usky.sas.domain;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 实时电子巡检用户参数表
+ * </p>
+ *
+ * @author fu
+ * @since 2026-03-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SasPatrolUserParam implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 事件备注
+     */
+    private String status;
+
+    /**
+     * 事件编号
+     */
+    private Integer statusCode;
+
+    /**
+     * 终端编号
+     */
+    private String handleCode;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

+ 16 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/mapper/SasPatrolUserParamMapper.java

@@ -0,0 +1,16 @@
+package com.usky.sas.mapper;
+
+import com.usky.sas.domain.SasPatrolUserParam;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 实时电子巡检用户参数表 Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2026-03-16
+ */
+public interface SasPatrolUserParamMapper extends CrudMapper<SasPatrolUserParam> {
+
+}

+ 191 - 149
service-sas/service-sas-biz/src/main/java/com/usky/sas/mqtt/MqttService.java

@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
@@ -14,6 +16,8 @@ import com.usky.sas.domain.*;
 import com.usky.sas.mapper.*;
 import com.usky.sas.mqtt.dto.*;
 import com.usky.sas.service.*;
+import com.usky.sas.service.dto.agbox.JsonRpcRequest;
+import com.usky.sas.service.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +30,9 @@ import javax.annotation.PreDestroy;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -75,6 +81,8 @@ public class MqttService {
     @Autowired
     private SasEventTypeGroupService eventTypeGroupService;
     @Autowired
+    private SasPatrolUserParamService sasPatrolUserParamService;
+    @Autowired
     private SasGisMapper gisMapper;
     
     @Autowired
@@ -378,66 +386,68 @@ public class MqttService {
             String method = root.path("method").asText();
 
             if ("event".equals(method)) {
-                SnapEventMessage message = mapper.readValue(payload, SnapEventMessage.class);
-                if(message.getEventCode() == null && root.get("code") != null) {
-                    message.setEventCode(root.get("code").asInt());
+                SnapEventResult eventResult = (SnapEventResult)this.mapper.readValue(payload, SnapEventResult.class);
+                log.info("实时智能分析");
+                Map<String, Object> map = new HashMap();
+                map.put("eventId", eventResult.getId());
+                JsonRpcRequest getEventInfoJson = new JsonRpcRequest("getEvent", map, (Long)null);
+                Map<String, Object> getEventInfo = new HashMap();
+                getEventInfo.put("key", this.sasConfigService.getConfig().getKeyds());
+                getEventInfo.put("json", getEventInfoJson.toString());
+                log.info("请求AG报文:{}", JSONUtil.toJsonStr(getEventInfo));
+                String resultEvent = HttpUtil.post(this.sasConfigService.getConfig().getHost() + "/agbox/device/snap", getEventInfo);
+                log.info("请求AG响应:{}", resultEvent);
+                SnapEventInfoVo eventInfoVo = (SnapEventInfoVo)this.mapper.readValue(resultEvent, SnapEventInfoVo.class);
+                SnapEventInfoResult result = eventInfoVo.getResult();
+                SnapEventInfo eventInfo = result.getEventInfo();
+                SasSnapEvent bean = (SasSnapEvent)BeanUtil.toBean(eventInfo, SasSnapEvent.class);
+                BrieflyEventInfo info = (BrieflyEventInfo)BeanUtil.toBeanIgnoreError(bean, BrieflyEventInfo.class);
+                if (eventInfo.getEventPic() != null) {
+                    SasPic pic = (SasPic)BeanUtil.toBean(eventInfo.getEventPic(), SasPic.class);
+                    pic.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(pic);
+                    bean.setEventPicId(pic.getId());
+                    info.setEventUrl(pic.getUrl() + pic.getPath());
+                }
+
+                if (eventInfo.getScenePic() != null) {
+                    SasPic pic = (SasPic)BeanUtil.toBean(eventInfo.getScenePic(), SasPic.class);
+                    pic.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(pic);
+                    bean.setScenePicId(pic.getId());
+                    info.setSceneUrl(pic.getUrl() + pic.getPath());
+                }
+                if(eventInfo.getEventCode() == null && root.get("code") != null) {
+                    eventInfo.setEventCode(root.get("code").asInt());
                 }
 
                 // 1. 检查设备是否存在
-                SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.snap.getCode());
+                SasDevice device = findDevice(eventInfo.getDeviceId(), eventInfo.getChannel(), SystemTypeCodeEnum.snap.getCode());
                 if (device == null) {
-                    log.warn("设备不存在,丢弃抓拍事件: deviceId={}, channel={}", message.getDeviceId(), message.getChannel());
+                    log.warn("设备不存在,丢弃抓拍事件: deviceId={}, channel={}", eventInfo.getDeviceId(), eventInfo.getChannel());
                     return;
                 }
 
-                SasSnapEvent event = new SasSnapEvent();
-
-                String eventId = message.getId() != null && !message.getId().isEmpty()
-                        ? message.getId()
+                String eventId = eventResult.getId() != null && !eventResult.getId().isEmpty()
+                        ? eventResult.getId()
                         : IdUtil.randomUUID();
                 // 如果该事件已存在(设备重发/重复消息),避免主键冲突,直接跳过
                 if (snapEventService.getById(eventId) != null) {
                     log.info("抓拍事件已存在, 跳过保存, eventId={}", eventId);
                     return;
                 }
-                event.setEventId(eventId);
-                BeanUtil.copyProperties(message, event, "eventId");
-                event.setTriggerTime(parseTime(message.getTriggerTime()));
-                event.setCreateTime(LocalDateTime.now());
-                event.setUpdateTime(LocalDateTime.now());
+                bean.setEventId(eventId);
+                BeanUtil.copyProperties(eventInfo, bean, "eventId");
+                bean.setTriggerTime(parseTime(eventInfo.getTriggerTime()));
+                bean.setCreateTime(LocalDateTime.now());
+                bean.setUpdateTime(LocalDateTime.now());
 
-                // 处理图片信息
-                if (message.getSnapPic() != null) {
-                    SnapEventMessage.PicInfo picInfo = message.getSnapPic();
-                    if (picInfo != null && StrUtil.isNotBlank(picInfo.getUrl()) && StrUtil.isNotBlank(picInfo.getPath())) {
-                        SasPic pic = new SasPic();
-                        pic.setId(IdUtil.randomUUID());
-                        pic.setUrl(picInfo.getUrl());
-                        pic.setPath(picInfo.getPath());
-                        pic.setCreateTime(LocalDateTime.now());
-                        pic.setUpdateTime(LocalDateTime.now());
-                        sasPicMapper.insert(pic);
-                        
-                        // 设置事件图片ID
-                        event.setEventPicId(pic.getId());
-                    }
-                }
-
-                snapEventService.save(event);
+                snapEventService.save(bean);
 
-                BrieflyEventInfo info = BeanUtil.toBean(event, BrieflyEventInfo.class);
-                info.setTriggerTime(message.getTriggerTime());
+                info.setTriggerTime(eventInfo.getTriggerTime());
                 info.setCreateTime(LocalDateTime.now().format(formatter));
                 
-                // 如果前面已经设置了eventUrl,这里需要保持
-                if (info.getEventUrl() == null && event.getEventPicId() != null) {
-                    SasPic pic = sasPicMapper.selectById(event.getEventPicId());
-                    if (pic != null && StrUtil.isNotBlank(pic.getUrl()) && StrUtil.isNotBlank(pic.getPath())) {
-                        info.setEventUrl(pic.getUrl() + pic.getPath());
-                    }
-                }
-                
-                SasSnapTypeCode code = snapTypeCodeMapper.selectById(event.getEventCode());
+                SasSnapTypeCode code = snapTypeCodeMapper.selectById(bean.getEventCode());
                 if (code != null) {
                     info.setEventTypeName(code.getName());
                 }
@@ -450,7 +460,7 @@ public class MqttService {
                 info.setDeviceType(SystemTypeCodeEnum.snap.getCode());
                 SasWebSocket.sendAll(info);
 
-                log.info("抓拍事件保存并推送成功, eventId={}", event.getEventId());
+                log.info("抓拍事件保存并推送成功, eventId={}", bean.getEventId());
             } else if ("heart".equals(method)) {
                 handleHeartbeat(payload, SystemTypeCodeEnum.snap.getCode());
             }
@@ -554,21 +564,53 @@ public class MqttService {
             String method = root.path("method").asText();
 
             if ("event".equals(method)) {
-                ParkingEventMessage message = mapper.readValue(payload, ParkingEventMessage.class);
-                if(message.getEventCode() == null && root.get("code") != null) {
-                    message.setEventCode(root.get("code").asInt());
+                ParkingEventResult eventResult = (ParkingEventResult)this.mapper.readValue(payload, ParkingEventResult.class);
+                Map<String, Object> map = new HashMap();
+                map.put("eventId", eventResult.getId());
+                JsonRpcRequest getParkingEventInfoJson = new JsonRpcRequest("getEvent", map, (Long)null);
+                Map<String, Object> getParkingEventInfo = new HashMap();
+                getParkingEventInfo.put("key", this.sasConfigService.getConfig().getKeyds());
+                getParkingEventInfo.put("json", getParkingEventInfoJson.toString());
+                log.info("请求AG报文:{}", JSONUtil.toJsonStr(getParkingEventInfo));
+                String resultEvent = HttpUtil.post(this.sasConfigService.getConfig().getHost() + "/agbox/device/parking", getParkingEventInfo);
+                log.info("请求AG响应:{}", resultEvent);
+                ParkingEventInfoVo parkingEventInfoVo = (ParkingEventInfoVo)this.mapper.readValue(resultEvent, ParkingEventInfoVo.class);
+                ParkingEventInfoResult result = parkingEventInfoVo.getResult();
+                ParkingEventInfo eventInfo = result.getEventInfo();
+                SasParkingEvent bean = (SasParkingEvent)BeanUtil.toBean(eventInfo, SasParkingEvent.class);
+                bean.setCreateTime(LocalDateTime.parse(eventInfo.getReceivingTime(), this.formatter));
+                bean.setTriggerTime(LocalDateTime.parse(eventInfo.getTriggerTime(), this.formatter));
+                bean.setEventId(eventResult.getId());
+                bean.setAccessType(eventInfo.getIo());
+                bean.setCarType(eventInfo.getCarCode());
+                bean.setPlateType(eventInfo.getPlateCode());
+                if (eventInfo.getEventPic() != null) {
+                    SasPic pic = (SasPic)BeanUtil.toBean(eventInfo.getEventPic(), SasPic.class);
+                    pic.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(pic);
+                    bean.setEventPicId(pic.getId());
+                }
+
+                if (eventInfo.getPlacePic() != null) {
+                    SasPic pic = (SasPic)BeanUtil.toBean(eventInfo.getPlacePic(), SasPic.class);
+                    pic.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(pic);
+                    bean.setPlatePicId(pic.getId());
+                }
+                if(eventInfo.getEventCode() == null && root.get("code") != null) {
+                    eventInfo.setEventCode(root.get("code").asInt());
                 }
 
                 // 1. 检查设备是否存在
-                SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.parking.getCode());
+                SasDevice device = findDevice(eventInfo.getDeviceId(), eventInfo.getChannel(), SystemTypeCodeEnum.parking.getCode());
                 if (device == null) {
-                    log.warn("设备不存在,丢弃停车场事件: deviceId={}, channel={}", message.getDeviceId(), message.getChannel());
+                    log.warn("设备不存在,丢弃停车场事件: deviceId={}, channel={}", eventInfo.getDeviceId(), eventInfo.getChannel());
                     return;
                 }
 
                 SasParkingEvent event = new SasParkingEvent();
-                String eventId = message.getId() != null && !message.getId().isEmpty()
-                        ? message.getId()
+                String eventId = eventResult.getId() != null && !eventResult.getId().isEmpty()
+                        ? eventResult.getId()
                         : IdUtil.randomUUID();
                 // 如果该事件已存在(设备重发/重复消息),避免主键冲突,直接跳过
                 if (parkingEventService.getById(eventId) != null) {
@@ -576,40 +618,24 @@ public class MqttService {
                     return;
                 }
                 event.setEventId(eventId);
-                BeanUtil.copyProperties(message, event, "eventId");
-                event.setTriggerTime(parseTime(message.getTriggerTime()));
+                BeanUtil.copyProperties(eventInfo, event, "eventId");
+                event.setTriggerTime(parseTime(eventInfo.getTriggerTime()));
                 event.setCreateTime(LocalDateTime.now());
                 event.setUpdateTime(LocalDateTime.now());
 
-                // 处理图片信息
-                if (message.getPlatePic() != null) {
-                    ParkingEventMessage.PicInfo picInfo = message.getPlatePic();
-                    if (picInfo != null && StrUtil.isNotBlank(picInfo.getUrl()) && StrUtil.isNotBlank(picInfo.getPath())) {
-                        SasPic pic = new SasPic();
-                        pic.setId(IdUtil.randomUUID());
-                        pic.setUrl(picInfo.getUrl());
-                        pic.setPath(picInfo.getPath());
-                        pic.setCreateTime(LocalDateTime.now());
-                        pic.setUpdateTime(LocalDateTime.now());
-                        sasPicMapper.insert(pic);
-                        
-                        // 设置车牌图片ID
-                        event.setPlatePicId(pic.getId());
-                    }
-                }
-
                 parkingEventService.save(event);
 
                 BrieflyEventInfo info = BeanUtil.toBean(event, BrieflyEventInfo.class);
-                info.setTriggerTime(message.getTriggerTime());
+                info.setTriggerTime(eventInfo.getTriggerTime());
                 info.setCreateTime(LocalDateTime.now().format(formatter));
                 
                 // 设置图片URL(如果有)
-                if (event.getPlatePicId() != null) {
-                    SasPic pic = sasPicMapper.selectById(event.getPlatePicId());
-                    if (pic != null && StrUtil.isNotBlank(pic.getUrl()) && StrUtil.isNotBlank(pic.getPath())) {
-                        info.setEventUrl(pic.getUrl() + pic.getPath());
-                    }
+                if (eventInfo.getEventPic() != null) {
+                    info.setEventUrl(eventInfo.getEventPic().getUrl() + eventInfo.getEventPic().getPath());
+                }
+
+                if (eventInfo.getPlacePic() != null) {
+                    info.setEventUrl(eventInfo.getPlacePic().getUrl() + eventInfo.getPlacePic().getPath());
                 }
                 
                 SasParkingEventCode code = parkingEventCodeMapper.selectById(event.getEventCode());
@@ -728,21 +754,46 @@ public class MqttService {
             String method = root.path("method").asText();
 
             if ("event".equals(method)) {
-                AlarsasEventMessage message = mapper.readValue(payload, AlarsasEventMessage.class);
-                if(message.getEventCode() == null && root.get("code") != null) {
-                    message.setEventCode(root.get("code").asInt());
+                AlarmEventResult eventResult = (AlarmEventResult)this.mapper.readValue(payload, AlarmEventResult.class);
+                Map<String, Object> map = new HashMap();
+                map.put("eventId", eventResult.getId());
+                JsonRpcRequest getAlarmEventInfoJson = new JsonRpcRequest("getEvent", map, (Long)null);
+                Map<String, Object> getAlarmEventInfo = new HashMap();
+                getAlarmEventInfo.put("key", this.sasConfigService.getConfig().getKeyds());
+                getAlarmEventInfo.put("json", getAlarmEventInfoJson.toString());
+                log.info("请求AG报文:{}", JSONUtil.toJsonStr(getAlarmEventInfo));
+                String resultEvent = HttpUtil.post(this.sasConfigService.getConfig().getHost() + "/agbox/device/alarm", getAlarmEventInfo);
+                log.info("请求AG响应:{}", resultEvent);
+                AlarmEventInfoVo alarmEventInfoVo = (AlarmEventInfoVo)this.mapper.readValue(resultEvent, AlarmEventInfoVo.class);
+                AlarmEventInfoResult result = alarmEventInfoVo.getResult();
+                AlarmEventInfo eventInfo = result.getEventInfo();
+
+                SasAlarsasEvent event = new SasAlarsasEvent();
+                if (eventInfo.getEventPic() != null) {
+                    SasPic pic = (SasPic)BeanUtil.toBean(eventInfo.getEventPic(), SasPic.class);
+                    pic.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(pic);
+                    event.setPicId(pic.getId());
+                }
+
+                if (eventInfo.getGis() != null) {
+                    SasGis gis = (SasGis)BeanUtil.toBean(eventInfo.getGis(), SasGis.class);
+                    gis.setId(IdUtil.randomUUID());
+                    this.gisMapper.insert(gis);
+                    event.setGisId(gis.getId());
+                }
+                if(eventInfo.getEventCode() == null && root.get("code") != null) {
+                    eventInfo.setEventCode(root.get("code").asInt());
                 }
 
                 // 1. 检查设备是否存在
-                SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.alarm.getCode());
+                SasDevice device = findDevice(eventInfo.getDeviceId(), eventInfo.getChannel(), SystemTypeCodeEnum.alarm.getCode());
                 if (device == null) {
-                    log.warn("设备不存在,丢弃入侵报警事件: deviceId={}, channel={}", message.getDeviceId(), message.getChannel());
+                    log.warn("设备不存在,丢弃入侵报警事件: deviceId={}, channel={}", eventInfo.getDeviceId(), eventInfo.getChannel());
                     return;
                 }
-
-                SasAlarsasEvent event = new SasAlarsasEvent();
-                String eventId = message.getId() != null && !message.getId().isEmpty()
-                        ? message.getId()
+                String eventId = eventResult.getId() != null && !eventResult.getId().isEmpty()
+                        ? eventResult.getId()
                         : IdUtil.randomUUID();
                 // 如果该事件已存在(设备重发/重复消息),避免主键冲突,直接跳过
 //                if (alarsasEventService.getById(eventId) != null) {
@@ -750,32 +801,15 @@ public class MqttService {
 //                    return;
 //                }
                 event.setEventId(eventId);
-                BeanUtil.copyProperties(message, event, "eventId");
-                event.setTriggerTime(parseTime(message.getTriggerTime()));
+                BeanUtil.copyProperties(eventResult, event, "eventId");
+                event.setTriggerTime(parseTime(eventInfo.getTriggerTime()));
                 event.setCreateTime(LocalDateTime.now());
                 event.setUpdateTime(LocalDateTime.now());
 
-                // 处理图片信息
-                if (message.getAlarmPic() != null) {
-                    AlarsasEventMessage.PicInfo picInfo = message.getAlarmPic();
-                    if (picInfo != null && StrUtil.isNotBlank(picInfo.getUrl()) && StrUtil.isNotBlank(picInfo.getPath())) {
-                        SasPic pic = new SasPic();
-                        pic.setId(IdUtil.randomUUID());
-                        pic.setUrl(picInfo.getUrl());
-                        pic.setPath(picInfo.getPath());
-                        pic.setCreateTime(LocalDateTime.now());
-                        pic.setUpdateTime(LocalDateTime.now());
-                        sasPicMapper.insert(pic);
-                        
-                        // 设置事件图片ID
-                        event.setPicId(pic.getId());
-                    }
-                }
-
                 alarsasEventService.saveOrUpdate(event);
 
                 BrieflyEventInfo info = BeanUtil.toBean(event, BrieflyEventInfo.class);
-                info.setTriggerTime(message.getTriggerTime());
+                info.setTriggerTime(eventInfo.getTriggerTime());
                 info.setCreateTime(LocalDateTime.now().format(formatter));
                 
                 // 设置图片URL(如果有)
@@ -815,21 +849,30 @@ public class MqttService {
             String method = root.path("method").asText();
 
             if ("event".equals(method)) {
-                PatrolEventMessage message = mapper.readValue(payload, PatrolEventMessage.class);
-                if(message.getEventCode() == null && root.get("code") != null) {
-                    message.setEventCode(root.get("code").asInt());
-                }
+                PatrolEventResult eventResult = (PatrolEventResult)this.mapper.readValue(payload, PatrolEventResult.class);
+                Map<String, Object> map = new HashMap();
+                map.put("eventId", eventResult.getId());
+                JsonRpcRequest getPatrolEventInfoJson = new JsonRpcRequest("getEvent", map, (Long)null);
+                Map<String, Object> getPatrolEventInfo = new HashMap();
+                getPatrolEventInfo.put("key", this.sasConfigService.getConfig().getKeyds());
+                getPatrolEventInfo.put("json", getPatrolEventInfoJson.toString());
+                log.info("请求AG报文:{}", JSONUtil.toJsonStr(getPatrolEventInfo));
+                String resultEvent = HttpUtil.post(this.sasConfigService.getConfig().getHost() + "/agbox/device/patrol", getPatrolEventInfo);
+                log.info("请求AG响应:{}", resultEvent);
+                PatrolEventInfoVo patrolEventInfoVo = (PatrolEventInfoVo)this.mapper.readValue(resultEvent, PatrolEventInfoVo.class);
+                PatrolEventInfoResult result = patrolEventInfoVo.getResult();
+                PatrolEventInfo eventInfo = result.getEventInfo();
 
                 // 1. 检查设备是否存在
-                SasDevice device = findDevice(message.getDeviceId(), 0, SystemTypeCodeEnum.patrol.getCode());
+                SasDevice device = findDevice(eventInfo.getDeviceId(), 0, SystemTypeCodeEnum.patrol.getCode());
                 if (device == null) {
-                    log.warn("设备不存在,丢弃巡检事件: deviceId={}, channel={}", message.getDeviceId(), message.getChannel());
+                    log.warn("设备不存在,丢弃巡检事件: deviceId={}, channel={}", eventInfo.getDeviceId(), eventInfo.getChannel());
                     return;
                 }
 
                 SasPatrolEvent event = new SasPatrolEvent();
-                String eventId = message.getId() != null && !message.getId().isEmpty()
-                        ? message.getId()
+                String eventId = patrolEventInfoVo.getId() != null && !patrolEventInfoVo.getId().isEmpty()
+                        ? patrolEventInfoVo.getId()
                         : IdUtil.randomUUID();
                 // 如果该事件已存在(设备重发/重复消息),避免主键冲突,直接跳过
                 if (patrolEventService.getById(eventId) != null) {
@@ -837,32 +880,30 @@ public class MqttService {
                     return;
                 }
                 event.setEventId(eventId);
-                BeanUtil.copyProperties(message, event, "eventId");
-                event.setTriggerTime(parseTime(message.getTriggerTime()));
+                BeanUtil.copyProperties(eventInfo, event, "eventId");
+                event.setTriggerTime(LocalDateTime.parse(eventInfo.getTriggerTime()));
                 event.setCreateTime(LocalDateTime.now());
                 event.setUpdateTime(LocalDateTime.now());
 
                 // 处理图片信息
-                if (message.getPatrolPic() != null) {
-                    PatrolEventMessage.PicInfo picInfo = message.getPatrolPic();
-                    if (picInfo != null && StrUtil.isNotBlank(picInfo.getUrl()) && StrUtil.isNotBlank(picInfo.getPath())) {
-                        SasPic pic = new SasPic();
-                        pic.setId(IdUtil.randomUUID());
-                        pic.setUrl(picInfo.getUrl());
-                        pic.setPath(picInfo.getPath());
-                        pic.setCreateTime(LocalDateTime.now());
-                        pic.setUpdateTime(LocalDateTime.now());
-                        sasPicMapper.insert(pic);
-                        
-                        // 设置事件图片ID
-                        event.setPicId(pic.getId());
-                    }
+                if (eventInfo.getEventPic() != null) {
+                    SasPic pic = (SasPic) BeanUtil.toBean(eventInfo.getEventPic(), SasPic.class);
+                    pic.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(pic);
+                    event.setPicId(pic.getId());
+                }
+
+                if (eventInfo.getUserParams() != null) {
+                    SasPatrolUserParam userParam = (SasPatrolUserParam)BeanUtil.toBean(eventInfo.getUserParams(), SasPatrolUserParam.class);
+                    userParam.setId(IdUtil.randomUUID());
+                    this.sasPatrolUserParamService.save(userParam);
+                    event.setUserParasasId(userParam.getId());
                 }
 
                 patrolEventService.save(event);
 
                 BrieflyEventInfo info = BeanUtil.toBean(event, BrieflyEventInfo.class);
-                info.setTriggerTime(message.getTriggerTime());
+                info.setTriggerTime(eventInfo.getTriggerTime());
                 info.setCreateTime(LocalDateTime.now().format(formatter));
                 
                 // 设置图片URL(如果有)
@@ -1104,20 +1145,18 @@ public class MqttService {
                 event.setUpdateTime(LocalDateTime.now());
 
                 // 处理图片信息
-                if (message.getCollectionPic() != null) {
-                    CollectionEventMessage.PicInfo picInfo = message.getCollectionPic();
-                    if (picInfo != null && StrUtil.isNotBlank(picInfo.getUrl()) && StrUtil.isNotBlank(picInfo.getPath())) {
-                        SasPic pic = new SasPic();
-                        pic.setId(IdUtil.randomUUID());
-                        pic.setUrl(picInfo.getUrl());
-                        pic.setPath(picInfo.getPath());
-                        pic.setCreateTime(LocalDateTime.now());
-                        pic.setUpdateTime(LocalDateTime.now());
-                        sasPicMapper.insert(pic);
-                        
-                        // 设置事件图片ID
-                        event.setPicId(pic.getId());
-                    }
+                if (message.getScenePicInfo() != null) {
+                    SasPic bean = (SasPic)BeanUtil.toBean(message.getScenePicInfo(), SasPic.class);
+                    bean.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(bean);
+                    event.setScenePicId(bean.getId());
+                }
+
+                if (message.getEventPicInfo() != null) {
+                    SasPic bean = (SasPic)BeanUtil.toBean(message.getEventPicInfo(), SasPic.class);
+                    bean.setId(IdUtil.randomUUID());
+                    this.sasPicMapper.insert(bean);
+                    event.setPicId(bean.getId());
                 }
 
                 collectionEventService.save(event);
@@ -1127,11 +1166,12 @@ public class MqttService {
                 info.setCreateTime(LocalDateTime.now().format(formatter));
                 
                 // 设置图片URL(如果有)
-                if (event.getPicId() != null) {
-                    SasPic pic = sasPicMapper.selectById(event.getPicId());
-                    if (pic != null && StrUtil.isNotBlank(pic.getUrl()) && StrUtil.isNotBlank(pic.getPath())) {
-                        info.setEventUrl(pic.getUrl() + pic.getPath());
-                    }
+                if (message.getEventPicInfo() != null) {
+                    info.setEventUrl(message.getEventPicInfo().getUrl() + message.getEventPicInfo().getPath());
+                }
+
+                if (message.getScenePicInfo() != null) {
+                    info.setEventUrl(message.getScenePicInfo().getUrl() + message.getScenePicInfo().getPath());
                 }
                 
                 SasCollectionEventCode code = collectionEventCodeMapper.selectById(event.getEventCode());
@@ -1294,4 +1334,6 @@ public class MqttService {
             log.error("断开MQTT连接失败", e);
         }
     }
+
+
 }

+ 2 - 1
service-sas/service-sas-biz/src/main/java/com/usky/sas/mqtt/dto/CollectionEventMessage.java

@@ -23,7 +23,8 @@ public class CollectionEventMessage {
     private BigDecimal total;
 
     // 图片信息
-    private PicInfo collectionPic;
+    private PicInfo eventPicInfo;
+    private PicInfo scenePicInfo;
 
     @Data
     public static class PicInfo {

+ 16 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/SasPatrolUserParamService.java

@@ -0,0 +1,16 @@
+package com.usky.sas.service;
+
+import com.usky.sas.domain.SasPatrolUserParam;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 实时电子巡检用户参数表 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2026-03-16
+ */
+public interface SasPatrolUserParamService extends CrudService<SasPatrolUserParam> {
+
+}

+ 20 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/impl/SasPatrolUserParamServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.sas.service.impl;
+
+import com.usky.sas.domain.SasPatrolUserParam;
+import com.usky.sas.mapper.SasPatrolUserParamMapper;
+import com.usky.sas.service.SasPatrolUserParamService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 实时电子巡检用户参数表 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2026-03-16
+ */
+@Service
+public class SasPatrolUserParamServiceImpl extends AbstractCrudService<SasPatrolUserParamMapper, SasPatrolUserParam> implements SasPatrolUserParamService {
+
+}

+ 2 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/impl/SasSystemConfigServiceImpl.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.sas.domain.SasSystemConfig;
 import com.usky.sas.mapper.SasSystemConfigMapper;
+import com.usky.sas.mqtt.MqttService;
 import com.usky.sas.service.SasSystemConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;

+ 285 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventInfo.java

@@ -0,0 +1,285 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.usky.sas.domain.SasGis;
+import com.usky.sas.domain.SasPic;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class AlarmEventInfo {
+    private String deviceId;
+    private Integer channel;
+    private Integer eventCode;
+    private String triggerTime;
+    private String receivingTime;
+    private String note;
+    private SasGis gis;
+    private SasPic eventPic;
+    private Integer systemCode;
+    private String relPerson;
+    private String dealPerson;
+
+    public AlarmEventInfo() {
+    }
+
+    public String getDeviceId() {
+        return this.deviceId;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public Integer getEventCode() {
+        return this.eventCode;
+    }
+
+    public String getTriggerTime() {
+        return this.triggerTime;
+    }
+
+    public String getReceivingTime() {
+        return this.receivingTime;
+    }
+
+    public String getNote() {
+        return this.note;
+    }
+
+    public SasGis getGis() {
+        return this.gis;
+    }
+
+    public SasPic getEventPic() {
+        return this.eventPic;
+    }
+
+    public Integer getSystemCode() {
+        return this.systemCode;
+    }
+
+    public String getRelPerson() {
+        return this.relPerson;
+    }
+
+    public String getDealPerson() {
+        return this.dealPerson;
+    }
+
+    public AlarmEventInfo setDeviceId(String deviceId) {
+        this.deviceId = deviceId;
+        return this;
+    }
+
+    public AlarmEventInfo setChannel(Integer channel) {
+        this.channel = channel;
+        return this;
+    }
+
+    public AlarmEventInfo setEventCode(Integer eventCode) {
+        this.eventCode = eventCode;
+        return this;
+    }
+
+    public AlarmEventInfo setTriggerTime(String triggerTime) {
+        this.triggerTime = triggerTime;
+        return this;
+    }
+
+    public AlarmEventInfo setReceivingTime(String receivingTime) {
+        this.receivingTime = receivingTime;
+        return this;
+    }
+
+    public AlarmEventInfo setNote(String note) {
+        this.note = note;
+        return this;
+    }
+
+    public AlarmEventInfo setGis(SasGis gis) {
+        this.gis = gis;
+        return this;
+    }
+
+    public AlarmEventInfo setEventPic(SasPic eventPic) {
+        this.eventPic = eventPic;
+        return this;
+    }
+
+    public AlarmEventInfo setSystemCode(Integer systemCode) {
+        this.systemCode = systemCode;
+        return this;
+    }
+
+    public AlarmEventInfo setRelPerson(String relPerson) {
+        this.relPerson = relPerson;
+        return this;
+    }
+
+    public AlarmEventInfo setDealPerson(String dealPerson) {
+        this.dealPerson = dealPerson;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof AlarmEventInfo)) {
+            return false;
+        } else {
+            AlarmEventInfo other = (AlarmEventInfo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$deviceId = this.getDeviceId();
+                Object other$deviceId = other.getDeviceId();
+                if (this$deviceId == null) {
+                    if (other$deviceId != null) {
+                        return false;
+                    }
+                } else if (!this$deviceId.equals(other$deviceId)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                Object this$eventCode = this.getEventCode();
+                Object other$eventCode = other.getEventCode();
+                if (this$eventCode == null) {
+                    if (other$eventCode != null) {
+                        return false;
+                    }
+                } else if (!this$eventCode.equals(other$eventCode)) {
+                    return false;
+                }
+
+                Object this$triggerTime = this.getTriggerTime();
+                Object other$triggerTime = other.getTriggerTime();
+                if (this$triggerTime == null) {
+                    if (other$triggerTime != null) {
+                        return false;
+                    }
+                } else if (!this$triggerTime.equals(other$triggerTime)) {
+                    return false;
+                }
+
+                Object this$receivingTime = this.getReceivingTime();
+                Object other$receivingTime = other.getReceivingTime();
+                if (this$receivingTime == null) {
+                    if (other$receivingTime != null) {
+                        return false;
+                    }
+                } else if (!this$receivingTime.equals(other$receivingTime)) {
+                    return false;
+                }
+
+                Object this$note = this.getNote();
+                Object other$note = other.getNote();
+                if (this$note == null) {
+                    if (other$note != null) {
+                        return false;
+                    }
+                } else if (!this$note.equals(other$note)) {
+                    return false;
+                }
+
+                Object this$gis = this.getGis();
+                Object other$gis = other.getGis();
+                if (this$gis == null) {
+                    if (other$gis != null) {
+                        return false;
+                    }
+                } else if (!this$gis.equals(other$gis)) {
+                    return false;
+                }
+
+                Object this$eventPic = this.getEventPic();
+                Object other$eventPic = other.getEventPic();
+                if (this$eventPic == null) {
+                    if (other$eventPic != null) {
+                        return false;
+                    }
+                } else if (!this$eventPic.equals(other$eventPic)) {
+                    return false;
+                }
+
+                Object this$systemCode = this.getSystemCode();
+                Object other$systemCode = other.getSystemCode();
+                if (this$systemCode == null) {
+                    if (other$systemCode != null) {
+                        return false;
+                    }
+                } else if (!this$systemCode.equals(other$systemCode)) {
+                    return false;
+                }
+
+                Object this$relPerson = this.getRelPerson();
+                Object other$relPerson = other.getRelPerson();
+                if (this$relPerson == null) {
+                    if (other$relPerson != null) {
+                        return false;
+                    }
+                } else if (!this$relPerson.equals(other$relPerson)) {
+                    return false;
+                }
+
+                Object this$dealPerson = this.getDealPerson();
+                Object other$dealPerson = other.getDealPerson();
+                if (this$dealPerson == null) {
+                    if (other$dealPerson != null) {
+                        return false;
+                    }
+                } else if (!this$dealPerson.equals(other$dealPerson)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof AlarmEventInfo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $deviceId = this.getDeviceId();
+        result = result * 59 + ($deviceId == null ? 43 : $deviceId.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        Object $eventCode = this.getEventCode();
+        result = result * 59 + ($eventCode == null ? 43 : $eventCode.hashCode());
+        Object $triggerTime = this.getTriggerTime();
+        result = result * 59 + ($triggerTime == null ? 43 : $triggerTime.hashCode());
+        Object $receivingTime = this.getReceivingTime();
+        result = result * 59 + ($receivingTime == null ? 43 : $receivingTime.hashCode());
+        Object $note = this.getNote();
+        result = result * 59 + ($note == null ? 43 : $note.hashCode());
+        Object $gis = this.getGis();
+        result = result * 59 + ($gis == null ? 43 : $gis.hashCode());
+        Object $eventPic = this.getEventPic();
+        result = result * 59 + ($eventPic == null ? 43 : $eventPic.hashCode());
+        Object $systemCode = this.getSystemCode();
+        result = result * 59 + ($systemCode == null ? 43 : $systemCode.hashCode());
+        Object $relPerson = this.getRelPerson();
+        result = result * 59 + ($relPerson == null ? 43 : $relPerson.hashCode());
+        Object $dealPerson = this.getDealPerson();
+        result = result * 59 + ($dealPerson == null ? 43 : $dealPerson.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AlarmEventInfo(deviceId=" + this.getDeviceId() + ", channel=" + this.getChannel() + ", eventCode=" + this.getEventCode() + ", triggerTime=" + this.getTriggerTime() + ", receivingTime=" + this.getReceivingTime() + ", note=" + this.getNote() + ", gis=" + this.getGis() + ", eventPic=" + this.getEventPic() + ", systemCode=" + this.getSystemCode() + ", relPerson=" + this.getRelPerson() + ", dealPerson=" + this.getDealPerson() + ")";
+    }
+}

+ 63 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventInfoResult.java

@@ -0,0 +1,63 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class AlarmEventInfoResult {
+    private AlarmEventInfo eventInfo;
+
+    public AlarmEventInfoResult() {
+    }
+
+    public AlarmEventInfo getEventInfo() {
+        return this.eventInfo;
+    }
+
+    public AlarmEventInfoResult setEventInfo(AlarmEventInfo eventInfo) {
+        this.eventInfo = eventInfo;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof AlarmEventInfoResult)) {
+            return false;
+        } else {
+            AlarmEventInfoResult other = (AlarmEventInfoResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$eventInfo = this.getEventInfo();
+                Object other$eventInfo = other.getEventInfo();
+                if (this$eventInfo == null) {
+                    if (other$eventInfo != null) {
+                        return false;
+                    }
+                } else if (!this$eventInfo.equals(other$eventInfo)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof AlarmEventInfoResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $eventInfo = this.getEventInfo();
+        result = result * 59 + ($eventInfo == null ? 43 : $eventInfo.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AlarmEventInfoResult(eventInfo=" + this.getEventInfo() + ")";
+    }
+}

+ 107 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventInfoVo.java

@@ -0,0 +1,107 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class AlarmEventInfoVo {
+    private String jsonrpc;
+    private AlarmEventInfoResult result;
+    private String id;
+
+    public AlarmEventInfoVo() {
+    }
+
+    public String getJsonrpc() {
+        return this.jsonrpc;
+    }
+
+    public AlarmEventInfoResult getResult() {
+        return this.result;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public AlarmEventInfoVo setJsonrpc(String jsonrpc) {
+        this.jsonrpc = jsonrpc;
+        return this;
+    }
+
+    public AlarmEventInfoVo setResult(AlarmEventInfoResult result) {
+        this.result = result;
+        return this;
+    }
+
+    public AlarmEventInfoVo setId(String id) {
+        this.id = id;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof AlarmEventInfoVo)) {
+            return false;
+        } else {
+            AlarmEventInfoVo other = (AlarmEventInfoVo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$jsonrpc = this.getJsonrpc();
+                Object other$jsonrpc = other.getJsonrpc();
+                if (this$jsonrpc == null) {
+                    if (other$jsonrpc != null) {
+                        return false;
+                    }
+                } else if (!this$jsonrpc.equals(other$jsonrpc)) {
+                    return false;
+                }
+
+                Object this$result = this.getResult();
+                Object other$result = other.getResult();
+                if (this$result == null) {
+                    if (other$result != null) {
+                        return false;
+                    }
+                } else if (!this$result.equals(other$result)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof AlarmEventInfoVo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $jsonrpc = this.getJsonrpc();
+        result = result * 59 + ($jsonrpc == null ? 43 : $jsonrpc.hashCode());
+        Object $result = this.getResult();
+        result = result * 59 + ($result == null ? 43 : $result.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AlarmEventInfoVo(jsonrpc=" + this.getJsonrpc() + ", result=" + this.getResult() + ", id=" + this.getId() + ")";
+    }
+}

+ 125 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/AlarmEventResult.java

@@ -0,0 +1,125 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class AlarmEventResult {
+    private String method;
+    private String id;
+    private Integer code;
+    private Integer channel;
+
+    public AlarmEventResult() {
+    }
+
+    public String getMethod() {
+        return this.method;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public Integer getCode() {
+        return this.code;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public void setChannel(Integer channel) {
+        this.channel = channel;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof AlarmEventResult)) {
+            return false;
+        } else {
+            AlarmEventResult other = (AlarmEventResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$method = this.getMethod();
+                Object other$method = other.getMethod();
+                if (this$method == null) {
+                    if (other$method != null) {
+                        return false;
+                    }
+                } else if (!this$method.equals(other$method)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                Object this$code = this.getCode();
+                Object other$code = other.getCode();
+                if (this$code == null) {
+                    if (other$code != null) {
+                        return false;
+                    }
+                } else if (!this$code.equals(other$code)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof AlarmEventResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $method = this.getMethod();
+        result = result * 59 + ($method == null ? 43 : $method.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        Object $code = this.getCode();
+        result = result * 59 + ($code == null ? 43 : $code.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AlarmEventResult(method=" + this.getMethod() + ", id=" + this.getId() + ", code=" + this.getCode() + ", channel=" + this.getChannel() + ")";
+    }
+}

+ 372 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventInfo.java

@@ -0,0 +1,372 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.usky.sas.domain.SasPic;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class ParkingEventInfo {
+    private String deviceId;
+    private Integer channel;
+    private Integer eventCode;
+    private String triggerTime;
+    private String receivingTime;
+    private String note;
+    private SasPic eventPic;
+    private SasPic placePic;
+    private Integer similarity;
+    private String entranceCode;
+    private Integer io;
+    private String plateNo;
+    private Integer plateCode;
+    private Integer carCode;
+    private String plateColor;
+
+    public ParkingEventInfo() {
+    }
+
+    public String getDeviceId() {
+        return this.deviceId;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public Integer getEventCode() {
+        return this.eventCode;
+    }
+
+    public String getTriggerTime() {
+        return this.triggerTime;
+    }
+
+    public String getReceivingTime() {
+        return this.receivingTime;
+    }
+
+    public String getNote() {
+        return this.note;
+    }
+
+    public SasPic getEventPic() {
+        return this.eventPic;
+    }
+
+    public SasPic getPlacePic() {
+        return this.placePic;
+    }
+
+    public Integer getSimilarity() {
+        return this.similarity;
+    }
+
+    public String getEntranceCode() {
+        return this.entranceCode;
+    }
+
+    public Integer getIo() {
+        return this.io;
+    }
+
+    public String getPlateNo() {
+        return this.plateNo;
+    }
+
+    public Integer getPlateCode() {
+        return this.plateCode;
+    }
+
+    public Integer getCarCode() {
+        return this.carCode;
+    }
+
+    public String getPlateColor() {
+        return this.plateColor;
+    }
+
+    public ParkingEventInfo setDeviceId(String deviceId) {
+        this.deviceId = deviceId;
+        return this;
+    }
+
+    public ParkingEventInfo setChannel(Integer channel) {
+        this.channel = channel;
+        return this;
+    }
+
+    public ParkingEventInfo setEventCode(Integer eventCode) {
+        this.eventCode = eventCode;
+        return this;
+    }
+
+    public ParkingEventInfo setTriggerTime(String triggerTime) {
+        this.triggerTime = triggerTime;
+        return this;
+    }
+
+    public ParkingEventInfo setReceivingTime(String receivingTime) {
+        this.receivingTime = receivingTime;
+        return this;
+    }
+
+    public ParkingEventInfo setNote(String note) {
+        this.note = note;
+        return this;
+    }
+
+    public ParkingEventInfo setEventPic(SasPic eventPic) {
+        this.eventPic = eventPic;
+        return this;
+    }
+
+    public ParkingEventInfo setPlacePic(SasPic placePic) {
+        this.placePic = placePic;
+        return this;
+    }
+
+    public ParkingEventInfo setSimilarity(Integer similarity) {
+        this.similarity = similarity;
+        return this;
+    }
+
+    public ParkingEventInfo setEntranceCode(String entranceCode) {
+        this.entranceCode = entranceCode;
+        return this;
+    }
+
+    public ParkingEventInfo setIo(Integer io) {
+        this.io = io;
+        return this;
+    }
+
+    public ParkingEventInfo setPlateNo(String plateNo) {
+        this.plateNo = plateNo;
+        return this;
+    }
+
+    public ParkingEventInfo setPlateCode(Integer plateCode) {
+        this.plateCode = plateCode;
+        return this;
+    }
+
+    public ParkingEventInfo setCarCode(Integer carCode) {
+        this.carCode = carCode;
+        return this;
+    }
+
+    public ParkingEventInfo setPlateColor(String plateColor) {
+        this.plateColor = plateColor;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof ParkingEventInfo)) {
+            return false;
+        } else {
+            ParkingEventInfo other = (ParkingEventInfo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$deviceId = this.getDeviceId();
+                Object other$deviceId = other.getDeviceId();
+                if (this$deviceId == null) {
+                    if (other$deviceId != null) {
+                        return false;
+                    }
+                } else if (!this$deviceId.equals(other$deviceId)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                Object this$eventCode = this.getEventCode();
+                Object other$eventCode = other.getEventCode();
+                if (this$eventCode == null) {
+                    if (other$eventCode != null) {
+                        return false;
+                    }
+                } else if (!this$eventCode.equals(other$eventCode)) {
+                    return false;
+                }
+
+                Object this$triggerTime = this.getTriggerTime();
+                Object other$triggerTime = other.getTriggerTime();
+                if (this$triggerTime == null) {
+                    if (other$triggerTime != null) {
+                        return false;
+                    }
+                } else if (!this$triggerTime.equals(other$triggerTime)) {
+                    return false;
+                }
+
+                Object this$receivingTime = this.getReceivingTime();
+                Object other$receivingTime = other.getReceivingTime();
+                if (this$receivingTime == null) {
+                    if (other$receivingTime != null) {
+                        return false;
+                    }
+                } else if (!this$receivingTime.equals(other$receivingTime)) {
+                    return false;
+                }
+
+                Object this$note = this.getNote();
+                Object other$note = other.getNote();
+                if (this$note == null) {
+                    if (other$note != null) {
+                        return false;
+                    }
+                } else if (!this$note.equals(other$note)) {
+                    return false;
+                }
+
+                Object this$eventPic = this.getEventPic();
+                Object other$eventPic = other.getEventPic();
+                if (this$eventPic == null) {
+                    if (other$eventPic != null) {
+                        return false;
+                    }
+                } else if (!this$eventPic.equals(other$eventPic)) {
+                    return false;
+                }
+
+                Object this$placePic = this.getPlacePic();
+                Object other$placePic = other.getPlacePic();
+                if (this$placePic == null) {
+                    if (other$placePic != null) {
+                        return false;
+                    }
+                } else if (!this$placePic.equals(other$placePic)) {
+                    return false;
+                }
+
+                Object this$similarity = this.getSimilarity();
+                Object other$similarity = other.getSimilarity();
+                if (this$similarity == null) {
+                    if (other$similarity != null) {
+                        return false;
+                    }
+                } else if (!this$similarity.equals(other$similarity)) {
+                    return false;
+                }
+
+                Object this$entranceCode = this.getEntranceCode();
+                Object other$entranceCode = other.getEntranceCode();
+                if (this$entranceCode == null) {
+                    if (other$entranceCode != null) {
+                        return false;
+                    }
+                } else if (!this$entranceCode.equals(other$entranceCode)) {
+                    return false;
+                }
+
+                Object this$io = this.getIo();
+                Object other$io = other.getIo();
+                if (this$io == null) {
+                    if (other$io != null) {
+                        return false;
+                    }
+                } else if (!this$io.equals(other$io)) {
+                    return false;
+                }
+
+                Object this$plateNo = this.getPlateNo();
+                Object other$plateNo = other.getPlateNo();
+                if (this$plateNo == null) {
+                    if (other$plateNo != null) {
+                        return false;
+                    }
+                } else if (!this$plateNo.equals(other$plateNo)) {
+                    return false;
+                }
+
+                Object this$plateCode = this.getPlateCode();
+                Object other$plateCode = other.getPlateCode();
+                if (this$plateCode == null) {
+                    if (other$plateCode != null) {
+                        return false;
+                    }
+                } else if (!this$plateCode.equals(other$plateCode)) {
+                    return false;
+                }
+
+                Object this$carCode = this.getCarCode();
+                Object other$carCode = other.getCarCode();
+                if (this$carCode == null) {
+                    if (other$carCode != null) {
+                        return false;
+                    }
+                } else if (!this$carCode.equals(other$carCode)) {
+                    return false;
+                }
+
+                Object this$plateColor = this.getPlateColor();
+                Object other$plateColor = other.getPlateColor();
+                if (this$plateColor == null) {
+                    if (other$plateColor != null) {
+                        return false;
+                    }
+                } else if (!this$plateColor.equals(other$plateColor)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof ParkingEventInfo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $deviceId = this.getDeviceId();
+        result = result * 59 + ($deviceId == null ? 43 : $deviceId.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        Object $eventCode = this.getEventCode();
+        result = result * 59 + ($eventCode == null ? 43 : $eventCode.hashCode());
+        Object $triggerTime = this.getTriggerTime();
+        result = result * 59 + ($triggerTime == null ? 43 : $triggerTime.hashCode());
+        Object $receivingTime = this.getReceivingTime();
+        result = result * 59 + ($receivingTime == null ? 43 : $receivingTime.hashCode());
+        Object $note = this.getNote();
+        result = result * 59 + ($note == null ? 43 : $note.hashCode());
+        Object $eventPic = this.getEventPic();
+        result = result * 59 + ($eventPic == null ? 43 : $eventPic.hashCode());
+        Object $placePic = this.getPlacePic();
+        result = result * 59 + ($placePic == null ? 43 : $placePic.hashCode());
+        Object $similarity = this.getSimilarity();
+        result = result * 59 + ($similarity == null ? 43 : $similarity.hashCode());
+        Object $entranceCode = this.getEntranceCode();
+        result = result * 59 + ($entranceCode == null ? 43 : $entranceCode.hashCode());
+        Object $io = this.getIo();
+        result = result * 59 + ($io == null ? 43 : $io.hashCode());
+        Object $plateNo = this.getPlateNo();
+        result = result * 59 + ($plateNo == null ? 43 : $plateNo.hashCode());
+        Object $plateCode = this.getPlateCode();
+        result = result * 59 + ($plateCode == null ? 43 : $plateCode.hashCode());
+        Object $carCode = this.getCarCode();
+        result = result * 59 + ($carCode == null ? 43 : $carCode.hashCode());
+        Object $plateColor = this.getPlateColor();
+        result = result * 59 + ($plateColor == null ? 43 : $plateColor.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ParkingEventInfo(deviceId=" + this.getDeviceId() + ", channel=" + this.getChannel() + ", eventCode=" + this.getEventCode() + ", triggerTime=" + this.getTriggerTime() + ", receivingTime=" + this.getReceivingTime() + ", note=" + this.getNote() + ", eventPic=" + this.getEventPic() + ", placePic=" + this.getPlacePic() + ", similarity=" + this.getSimilarity() + ", entranceCode=" + this.getEntranceCode() + ", io=" + this.getIo() + ", plateNo=" + this.getPlateNo() + ", plateCode=" + this.getPlateCode() + ", carCode=" + this.getCarCode() + ", plateColor=" + this.getPlateColor() + ")";
+    }
+}

+ 63 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventInfoResult.java

@@ -0,0 +1,63 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class ParkingEventInfoResult {
+    private ParkingEventInfo eventInfo;
+
+    public ParkingEventInfoResult() {
+    }
+
+    public ParkingEventInfo getEventInfo() {
+        return this.eventInfo;
+    }
+
+    public ParkingEventInfoResult setEventInfo(ParkingEventInfo eventInfo) {
+        this.eventInfo = eventInfo;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof ParkingEventInfoResult)) {
+            return false;
+        } else {
+            ParkingEventInfoResult other = (ParkingEventInfoResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$eventInfo = this.getEventInfo();
+                Object other$eventInfo = other.getEventInfo();
+                if (this$eventInfo == null) {
+                    if (other$eventInfo != null) {
+                        return false;
+                    }
+                } else if (!this$eventInfo.equals(other$eventInfo)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof ParkingEventInfoResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $eventInfo = this.getEventInfo();
+        result = result * 59 + ($eventInfo == null ? 43 : $eventInfo.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ParkingEventInfoResult(eventInfo=" + this.getEventInfo() + ")";
+    }
+}

+ 107 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventInfoVo.java

@@ -0,0 +1,107 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class ParkingEventInfoVo {
+    private String jsonrpc;
+    private ParkingEventInfoResult result;
+    private String id;
+
+    public ParkingEventInfoVo() {
+    }
+
+    public String getJsonrpc() {
+        return this.jsonrpc;
+    }
+
+    public ParkingEventInfoResult getResult() {
+        return this.result;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public ParkingEventInfoVo setJsonrpc(String jsonrpc) {
+        this.jsonrpc = jsonrpc;
+        return this;
+    }
+
+    public ParkingEventInfoVo setResult(ParkingEventInfoResult result) {
+        this.result = result;
+        return this;
+    }
+
+    public ParkingEventInfoVo setId(String id) {
+        this.id = id;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof ParkingEventInfoVo)) {
+            return false;
+        } else {
+            ParkingEventInfoVo other = (ParkingEventInfoVo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$jsonrpc = this.getJsonrpc();
+                Object other$jsonrpc = other.getJsonrpc();
+                if (this$jsonrpc == null) {
+                    if (other$jsonrpc != null) {
+                        return false;
+                    }
+                } else if (!this$jsonrpc.equals(other$jsonrpc)) {
+                    return false;
+                }
+
+                Object this$result = this.getResult();
+                Object other$result = other.getResult();
+                if (this$result == null) {
+                    if (other$result != null) {
+                        return false;
+                    }
+                } else if (!this$result.equals(other$result)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof ParkingEventInfoVo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $jsonrpc = this.getJsonrpc();
+        result = result * 59 + ($jsonrpc == null ? 43 : $jsonrpc.hashCode());
+        Object $result = this.getResult();
+        result = result * 59 + ($result == null ? 43 : $result.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ParkingEventInfoVo(jsonrpc=" + this.getJsonrpc() + ", result=" + this.getResult() + ", id=" + this.getId() + ")";
+    }
+}

+ 125 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/ParkingEventResult.java

@@ -0,0 +1,125 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class ParkingEventResult {
+    private String method;
+    private String id;
+    private Integer code;
+    private Integer channel;
+
+    public ParkingEventResult() {
+    }
+
+    public String getMethod() {
+        return this.method;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public Integer getCode() {
+        return this.code;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public void setChannel(Integer channel) {
+        this.channel = channel;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof ParkingEventResult)) {
+            return false;
+        } else {
+            ParkingEventResult other = (ParkingEventResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$method = this.getMethod();
+                Object other$method = other.getMethod();
+                if (this$method == null) {
+                    if (other$method != null) {
+                        return false;
+                    }
+                } else if (!this$method.equals(other$method)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                Object this$code = this.getCode();
+                Object other$code = other.getCode();
+                if (this$code == null) {
+                    if (other$code != null) {
+                        return false;
+                    }
+                } else if (!this$code.equals(other$code)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof ParkingEventResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $method = this.getMethod();
+        result = result * 59 + ($method == null ? 43 : $method.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        Object $code = this.getCode();
+        result = result * 59 + ($code == null ? 43 : $code.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ParkingEventResult(method=" + this.getMethod() + ", id=" + this.getId() + ", code=" + this.getCode() + ", channel=" + this.getChannel() + ")";
+    }
+}

+ 319 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventInfo.java

@@ -0,0 +1,319 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.usky.sas.domain.SasPic;
+import io.swagger.annotations.ApiModelProperty;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class PatrolEventInfo {
+    @ApiModelProperty("设备编号")
+    private String deviceId;
+    @ApiModelProperty("通道号")
+    private Integer channel;
+    @ApiModelProperty("事件编码")
+    private Integer eventCode;
+    @ApiModelProperty("触发时间")
+    private String triggerTime;
+    @ApiModelProperty("接收时间")
+    private String receivingTime;
+    @ApiModelProperty("备注")
+    private String note;
+    @ApiModelProperty("用户参数对象")
+    private UserParams userParams;
+    @ApiModelProperty("事件图片")
+    private SasPic eventPic;
+    @ApiModelProperty("证件类型编码")
+    private Integer credentialType;
+    @ApiModelProperty("证件号")
+    private String credentialNo;
+    @ApiModelProperty("巡检人名")
+    private String name;
+    @ApiModelProperty("事件类型名称")
+    private String typeName;
+
+    public PatrolEventInfo() {
+    }
+
+    public String getDeviceId() {
+        return this.deviceId;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public Integer getEventCode() {
+        return this.eventCode;
+    }
+
+    public String getTriggerTime() {
+        return this.triggerTime;
+    }
+
+    public String getReceivingTime() {
+        return this.receivingTime;
+    }
+
+    public String getNote() {
+        return this.note;
+    }
+
+    public UserParams getUserParams() {
+        return this.userParams;
+    }
+
+    public SasPic getEventPic() {
+        return this.eventPic;
+    }
+
+    public Integer getCredentialType() {
+        return this.credentialType;
+    }
+
+    public String getCredentialNo() {
+        return this.credentialNo;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public String getTypeName() {
+        return this.typeName;
+    }
+
+    public PatrolEventInfo setDeviceId(String deviceId) {
+        this.deviceId = deviceId;
+        return this;
+    }
+
+    public PatrolEventInfo setChannel(Integer channel) {
+        this.channel = channel;
+        return this;
+    }
+
+    public PatrolEventInfo setEventCode(Integer eventCode) {
+        this.eventCode = eventCode;
+        return this;
+    }
+
+    public PatrolEventInfo setTriggerTime(String triggerTime) {
+        this.triggerTime = triggerTime;
+        return this;
+    }
+
+    public PatrolEventInfo setReceivingTime(String receivingTime) {
+        this.receivingTime = receivingTime;
+        return this;
+    }
+
+    public PatrolEventInfo setNote(String note) {
+        this.note = note;
+        return this;
+    }
+
+    public PatrolEventInfo setUserParams(UserParams userParams) {
+        this.userParams = userParams;
+        return this;
+    }
+
+    public PatrolEventInfo setEventPic(SasPic eventPic) {
+        this.eventPic = eventPic;
+        return this;
+    }
+
+    public PatrolEventInfo setCredentialType(Integer credentialType) {
+        this.credentialType = credentialType;
+        return this;
+    }
+
+    public PatrolEventInfo setCredentialNo(String credentialNo) {
+        this.credentialNo = credentialNo;
+        return this;
+    }
+
+    public PatrolEventInfo setName(String name) {
+        this.name = name;
+        return this;
+    }
+
+    public PatrolEventInfo setTypeName(String typeName) {
+        this.typeName = typeName;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof PatrolEventInfo)) {
+            return false;
+        } else {
+            PatrolEventInfo other = (PatrolEventInfo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$deviceId = this.getDeviceId();
+                Object other$deviceId = other.getDeviceId();
+                if (this$deviceId == null) {
+                    if (other$deviceId != null) {
+                        return false;
+                    }
+                } else if (!this$deviceId.equals(other$deviceId)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                Object this$eventCode = this.getEventCode();
+                Object other$eventCode = other.getEventCode();
+                if (this$eventCode == null) {
+                    if (other$eventCode != null) {
+                        return false;
+                    }
+                } else if (!this$eventCode.equals(other$eventCode)) {
+                    return false;
+                }
+
+                Object this$triggerTime = this.getTriggerTime();
+                Object other$triggerTime = other.getTriggerTime();
+                if (this$triggerTime == null) {
+                    if (other$triggerTime != null) {
+                        return false;
+                    }
+                } else if (!this$triggerTime.equals(other$triggerTime)) {
+                    return false;
+                }
+
+                Object this$receivingTime = this.getReceivingTime();
+                Object other$receivingTime = other.getReceivingTime();
+                if (this$receivingTime == null) {
+                    if (other$receivingTime != null) {
+                        return false;
+                    }
+                } else if (!this$receivingTime.equals(other$receivingTime)) {
+                    return false;
+                }
+
+                Object this$note = this.getNote();
+                Object other$note = other.getNote();
+                if (this$note == null) {
+                    if (other$note != null) {
+                        return false;
+                    }
+                } else if (!this$note.equals(other$note)) {
+                    return false;
+                }
+
+                Object this$userParams = this.getUserParams();
+                Object other$userParams = other.getUserParams();
+                if (this$userParams == null) {
+                    if (other$userParams != null) {
+                        return false;
+                    }
+                } else if (!this$userParams.equals(other$userParams)) {
+                    return false;
+                }
+
+                Object this$eventPic = this.getEventPic();
+                Object other$eventPic = other.getEventPic();
+                if (this$eventPic == null) {
+                    if (other$eventPic != null) {
+                        return false;
+                    }
+                } else if (!this$eventPic.equals(other$eventPic)) {
+                    return false;
+                }
+
+                Object this$credentialType = this.getCredentialType();
+                Object other$credentialType = other.getCredentialType();
+                if (this$credentialType == null) {
+                    if (other$credentialType != null) {
+                        return false;
+                    }
+                } else if (!this$credentialType.equals(other$credentialType)) {
+                    return false;
+                }
+
+                Object this$credentialNo = this.getCredentialNo();
+                Object other$credentialNo = other.getCredentialNo();
+                if (this$credentialNo == null) {
+                    if (other$credentialNo != null) {
+                        return false;
+                    }
+                } else if (!this$credentialNo.equals(other$credentialNo)) {
+                    return false;
+                }
+
+                Object this$name = this.getName();
+                Object other$name = other.getName();
+                if (this$name == null) {
+                    if (other$name != null) {
+                        return false;
+                    }
+                } else if (!this$name.equals(other$name)) {
+                    return false;
+                }
+
+                Object this$typeName = this.getTypeName();
+                Object other$typeName = other.getTypeName();
+                if (this$typeName == null) {
+                    if (other$typeName != null) {
+                        return false;
+                    }
+                } else if (!this$typeName.equals(other$typeName)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof PatrolEventInfo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $deviceId = this.getDeviceId();
+        result = result * 59 + ($deviceId == null ? 43 : $deviceId.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        Object $eventCode = this.getEventCode();
+        result = result * 59 + ($eventCode == null ? 43 : $eventCode.hashCode());
+        Object $triggerTime = this.getTriggerTime();
+        result = result * 59 + ($triggerTime == null ? 43 : $triggerTime.hashCode());
+        Object $receivingTime = this.getReceivingTime();
+        result = result * 59 + ($receivingTime == null ? 43 : $receivingTime.hashCode());
+        Object $note = this.getNote();
+        result = result * 59 + ($note == null ? 43 : $note.hashCode());
+        Object $userParams = this.getUserParams();
+        result = result * 59 + ($userParams == null ? 43 : $userParams.hashCode());
+        Object $eventPic = this.getEventPic();
+        result = result * 59 + ($eventPic == null ? 43 : $eventPic.hashCode());
+        Object $credentialType = this.getCredentialType();
+        result = result * 59 + ($credentialType == null ? 43 : $credentialType.hashCode());
+        Object $credentialNo = this.getCredentialNo();
+        result = result * 59 + ($credentialNo == null ? 43 : $credentialNo.hashCode());
+        Object $name = this.getName();
+        result = result * 59 + ($name == null ? 43 : $name.hashCode());
+        Object $typeName = this.getTypeName();
+        result = result * 59 + ($typeName == null ? 43 : $typeName.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PatrolEventInfo(deviceId=" + this.getDeviceId() + ", channel=" + this.getChannel() + ", eventCode=" + this.getEventCode() + ", triggerTime=" + this.getTriggerTime() + ", receivingTime=" + this.getReceivingTime() + ", note=" + this.getNote() + ", userParams=" + this.getUserParams() + ", eventPic=" + this.getEventPic() + ", credentialType=" + this.getCredentialType() + ", credentialNo=" + this.getCredentialNo() + ", name=" + this.getName() + ", typeName=" + this.getTypeName() + ")";
+    }
+}

+ 64 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventInfoResult.java

@@ -0,0 +1,64 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.usky.sas.domain.SasPatrolEvent;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class PatrolEventInfoResult {
+    private PatrolEventInfo eventInfo;
+
+    public PatrolEventInfoResult() {
+    }
+
+    public PatrolEventInfo getEventInfo() {
+        return this.eventInfo;
+    }
+
+    public PatrolEventInfoResult setEventInfo(PatrolEventInfo eventInfo) {
+        this.eventInfo = eventInfo;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof PatrolEventInfoResult)) {
+            return false;
+        } else {
+            PatrolEventInfoResult other = (PatrolEventInfoResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$eventInfo = this.getEventInfo();
+                Object other$eventInfo = other.getEventInfo();
+                if (this$eventInfo == null) {
+                    if (other$eventInfo != null) {
+                        return false;
+                    }
+                } else if (!this$eventInfo.equals(other$eventInfo)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof PatrolEventInfoResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $eventInfo = this.getEventInfo();
+        result = result * 59 + ($eventInfo == null ? 43 : $eventInfo.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PatrolEventInfoResult(eventInfo=" + this.getEventInfo() + ")";
+    }
+}

+ 107 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventInfoVo.java

@@ -0,0 +1,107 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class PatrolEventInfoVo {
+    private String jsonrpc;
+    private PatrolEventInfoResult result;
+    private String id;
+
+    public PatrolEventInfoVo() {
+    }
+
+    public String getJsonrpc() {
+        return this.jsonrpc;
+    }
+
+    public PatrolEventInfoResult getResult() {
+        return this.result;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public PatrolEventInfoVo setJsonrpc(String jsonrpc) {
+        this.jsonrpc = jsonrpc;
+        return this;
+    }
+
+    public PatrolEventInfoVo setResult(PatrolEventInfoResult result) {
+        this.result = result;
+        return this;
+    }
+
+    public PatrolEventInfoVo setId(String id) {
+        this.id = id;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof PatrolEventInfoVo)) {
+            return false;
+        } else {
+            PatrolEventInfoVo other = (PatrolEventInfoVo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$jsonrpc = this.getJsonrpc();
+                Object other$jsonrpc = other.getJsonrpc();
+                if (this$jsonrpc == null) {
+                    if (other$jsonrpc != null) {
+                        return false;
+                    }
+                } else if (!this$jsonrpc.equals(other$jsonrpc)) {
+                    return false;
+                }
+
+                Object this$result = this.getResult();
+                Object other$result = other.getResult();
+                if (this$result == null) {
+                    if (other$result != null) {
+                        return false;
+                    }
+                } else if (!this$result.equals(other$result)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof PatrolEventInfoVo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $jsonrpc = this.getJsonrpc();
+        result = result * 59 + ($jsonrpc == null ? 43 : $jsonrpc.hashCode());
+        Object $result = this.getResult();
+        result = result * 59 + ($result == null ? 43 : $result.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PatrolEventInfoVo(jsonrpc=" + this.getJsonrpc() + ", result=" + this.getResult() + ", id=" + this.getId() + ")";
+    }
+}

+ 104 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/PatrolEventResult.java

@@ -0,0 +1,104 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class PatrolEventResult {
+    private String method;
+    private String id;
+    private Integer eventCode;
+
+    public PatrolEventResult() {
+    }
+
+    public String getMethod() {
+        return this.method;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public Integer getEventCode() {
+        return this.eventCode;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setEventCode(Integer eventCode) {
+        this.eventCode = eventCode;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof PatrolEventResult)) {
+            return false;
+        } else {
+            PatrolEventResult other = (PatrolEventResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$method = this.getMethod();
+                Object other$method = other.getMethod();
+                if (this$method == null) {
+                    if (other$method != null) {
+                        return false;
+                    }
+                } else if (!this$method.equals(other$method)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                Object this$eventCode = this.getEventCode();
+                Object other$eventCode = other.getEventCode();
+                if (this$eventCode == null) {
+                    if (other$eventCode != null) {
+                        return false;
+                    }
+                } else if (!this$eventCode.equals(other$eventCode)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof PatrolEventResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $method = this.getMethod();
+        result = result * 59 + ($method == null ? 43 : $method.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        Object $eventCode = this.getEventCode();
+        result = result * 59 + ($eventCode == null ? 43 : $eventCode.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PatrolEventResult(method=" + this.getMethod() + ", id=" + this.getId() + ", eventCode=" + this.getEventCode() + ")";
+    }
+}

+ 411 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventInfo.java

@@ -0,0 +1,411 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.usky.sas.domain.SasPic;
+import io.swagger.annotations.ApiModelProperty;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class SnapEventInfo {
+    @ApiModelProperty("设备编号")
+    private String deviceId;
+    @ApiModelProperty("通道号")
+    private Integer channel;
+    @ApiModelProperty("事件编码")
+    private Integer eventCode;
+    @ApiModelProperty("触发时间")
+    private String triggerTime;
+    @ApiModelProperty("接收时间")
+    private String receivingTime;
+    @ApiModelProperty("备注")
+    private String note;
+    @ApiModelProperty("用户参数对象")
+    private UserParams userParams;
+    @ApiModelProperty("事件图片")
+    private SasPic eventPic;
+    @ApiModelProperty("场景图片")
+    private SasPic scenePic;
+    @ApiModelProperty("相似度")
+    private Integer similarity;
+    @ApiModelProperty("图片质量")
+    private Integer quality;
+    @ApiModelProperty("人员计数数量")
+    private Integer count;
+    @ApiModelProperty("证件类型编码")
+    private Integer credentialType;
+    @ApiModelProperty("证件号")
+    private String credentialNo;
+    @ApiModelProperty("人名")
+    private String name;
+    @ApiModelProperty("人员编码")
+    private String personCode;
+
+    public SnapEventInfo() {
+    }
+
+    public String getDeviceId() {
+        return this.deviceId;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public Integer getEventCode() {
+        return this.eventCode;
+    }
+
+    public String getTriggerTime() {
+        return this.triggerTime;
+    }
+
+    public String getReceivingTime() {
+        return this.receivingTime;
+    }
+
+    public String getNote() {
+        return this.note;
+    }
+
+    public UserParams getUserParams() {
+        return this.userParams;
+    }
+
+    public SasPic getEventPic() {
+        return this.eventPic;
+    }
+
+    public SasPic getScenePic() {
+        return this.scenePic;
+    }
+
+    public Integer getSimilarity() {
+        return this.similarity;
+    }
+
+    public Integer getQuality() {
+        return this.quality;
+    }
+
+    public Integer getCount() {
+        return this.count;
+    }
+
+    public Integer getCredentialType() {
+        return this.credentialType;
+    }
+
+    public String getCredentialNo() {
+        return this.credentialNo;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public String getPersonCode() {
+        return this.personCode;
+    }
+
+    public SnapEventInfo setDeviceId(String deviceId) {
+        this.deviceId = deviceId;
+        return this;
+    }
+
+    public SnapEventInfo setChannel(Integer channel) {
+        this.channel = channel;
+        return this;
+    }
+
+    public SnapEventInfo setEventCode(Integer eventCode) {
+        this.eventCode = eventCode;
+        return this;
+    }
+
+    public SnapEventInfo setTriggerTime(String triggerTime) {
+        this.triggerTime = triggerTime;
+        return this;
+    }
+
+    public SnapEventInfo setReceivingTime(String receivingTime) {
+        this.receivingTime = receivingTime;
+        return this;
+    }
+
+    public SnapEventInfo setNote(String note) {
+        this.note = note;
+        return this;
+    }
+
+    public SnapEventInfo setUserParams(UserParams userParams) {
+        this.userParams = userParams;
+        return this;
+    }
+
+    public SnapEventInfo setEventPic(SasPic eventPic) {
+        this.eventPic = eventPic;
+        return this;
+    }
+
+    public SnapEventInfo setScenePic(SasPic scenePic) {
+        this.scenePic = scenePic;
+        return this;
+    }
+
+    public SnapEventInfo setSimilarity(Integer similarity) {
+        this.similarity = similarity;
+        return this;
+    }
+
+    public SnapEventInfo setQuality(Integer quality) {
+        this.quality = quality;
+        return this;
+    }
+
+    public SnapEventInfo setCount(Integer count) {
+        this.count = count;
+        return this;
+    }
+
+    public SnapEventInfo setCredentialType(Integer credentialType) {
+        this.credentialType = credentialType;
+        return this;
+    }
+
+    public SnapEventInfo setCredentialNo(String credentialNo) {
+        this.credentialNo = credentialNo;
+        return this;
+    }
+
+    public SnapEventInfo setName(String name) {
+        this.name = name;
+        return this;
+    }
+
+    public SnapEventInfo setPersonCode(String personCode) {
+        this.personCode = personCode;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof SnapEventInfo)) {
+            return false;
+        } else {
+            SnapEventInfo other = (SnapEventInfo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$deviceId = this.getDeviceId();
+                Object other$deviceId = other.getDeviceId();
+                if (this$deviceId == null) {
+                    if (other$deviceId != null) {
+                        return false;
+                    }
+                } else if (!this$deviceId.equals(other$deviceId)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                Object this$eventCode = this.getEventCode();
+                Object other$eventCode = other.getEventCode();
+                if (this$eventCode == null) {
+                    if (other$eventCode != null) {
+                        return false;
+                    }
+                } else if (!this$eventCode.equals(other$eventCode)) {
+                    return false;
+                }
+
+                Object this$triggerTime = this.getTriggerTime();
+                Object other$triggerTime = other.getTriggerTime();
+                if (this$triggerTime == null) {
+                    if (other$triggerTime != null) {
+                        return false;
+                    }
+                } else if (!this$triggerTime.equals(other$triggerTime)) {
+                    return false;
+                }
+
+                Object this$receivingTime = this.getReceivingTime();
+                Object other$receivingTime = other.getReceivingTime();
+                if (this$receivingTime == null) {
+                    if (other$receivingTime != null) {
+                        return false;
+                    }
+                } else if (!this$receivingTime.equals(other$receivingTime)) {
+                    return false;
+                }
+
+                Object this$note = this.getNote();
+                Object other$note = other.getNote();
+                if (this$note == null) {
+                    if (other$note != null) {
+                        return false;
+                    }
+                } else if (!this$note.equals(other$note)) {
+                    return false;
+                }
+
+                Object this$userParams = this.getUserParams();
+                Object other$userParams = other.getUserParams();
+                if (this$userParams == null) {
+                    if (other$userParams != null) {
+                        return false;
+                    }
+                } else if (!this$userParams.equals(other$userParams)) {
+                    return false;
+                }
+
+                Object this$eventPic = this.getEventPic();
+                Object other$eventPic = other.getEventPic();
+                if (this$eventPic == null) {
+                    if (other$eventPic != null) {
+                        return false;
+                    }
+                } else if (!this$eventPic.equals(other$eventPic)) {
+                    return false;
+                }
+
+                Object this$scenePic = this.getScenePic();
+                Object other$scenePic = other.getScenePic();
+                if (this$scenePic == null) {
+                    if (other$scenePic != null) {
+                        return false;
+                    }
+                } else if (!this$scenePic.equals(other$scenePic)) {
+                    return false;
+                }
+
+                Object this$similarity = this.getSimilarity();
+                Object other$similarity = other.getSimilarity();
+                if (this$similarity == null) {
+                    if (other$similarity != null) {
+                        return false;
+                    }
+                } else if (!this$similarity.equals(other$similarity)) {
+                    return false;
+                }
+
+                Object this$quality = this.getQuality();
+                Object other$quality = other.getQuality();
+                if (this$quality == null) {
+                    if (other$quality != null) {
+                        return false;
+                    }
+                } else if (!this$quality.equals(other$quality)) {
+                    return false;
+                }
+
+                Object this$count = this.getCount();
+                Object other$count = other.getCount();
+                if (this$count == null) {
+                    if (other$count != null) {
+                        return false;
+                    }
+                } else if (!this$count.equals(other$count)) {
+                    return false;
+                }
+
+                Object this$credentialType = this.getCredentialType();
+                Object other$credentialType = other.getCredentialType();
+                if (this$credentialType == null) {
+                    if (other$credentialType != null) {
+                        return false;
+                    }
+                } else if (!this$credentialType.equals(other$credentialType)) {
+                    return false;
+                }
+
+                Object this$credentialNo = this.getCredentialNo();
+                Object other$credentialNo = other.getCredentialNo();
+                if (this$credentialNo == null) {
+                    if (other$credentialNo != null) {
+                        return false;
+                    }
+                } else if (!this$credentialNo.equals(other$credentialNo)) {
+                    return false;
+                }
+
+                Object this$name = this.getName();
+                Object other$name = other.getName();
+                if (this$name == null) {
+                    if (other$name != null) {
+                        return false;
+                    }
+                } else if (!this$name.equals(other$name)) {
+                    return false;
+                }
+
+                Object this$personCode = this.getPersonCode();
+                Object other$personCode = other.getPersonCode();
+                if (this$personCode == null) {
+                    if (other$personCode != null) {
+                        return false;
+                    }
+                } else if (!this$personCode.equals(other$personCode)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof SnapEventInfo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $deviceId = this.getDeviceId();
+        result = result * 59 + ($deviceId == null ? 43 : $deviceId.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        Object $eventCode = this.getEventCode();
+        result = result * 59 + ($eventCode == null ? 43 : $eventCode.hashCode());
+        Object $triggerTime = this.getTriggerTime();
+        result = result * 59 + ($triggerTime == null ? 43 : $triggerTime.hashCode());
+        Object $receivingTime = this.getReceivingTime();
+        result = result * 59 + ($receivingTime == null ? 43 : $receivingTime.hashCode());
+        Object $note = this.getNote();
+        result = result * 59 + ($note == null ? 43 : $note.hashCode());
+        Object $userParams = this.getUserParams();
+        result = result * 59 + ($userParams == null ? 43 : $userParams.hashCode());
+        Object $eventPic = this.getEventPic();
+        result = result * 59 + ($eventPic == null ? 43 : $eventPic.hashCode());
+        Object $scenePic = this.getScenePic();
+        result = result * 59 + ($scenePic == null ? 43 : $scenePic.hashCode());
+        Object $similarity = this.getSimilarity();
+        result = result * 59 + ($similarity == null ? 43 : $similarity.hashCode());
+        Object $quality = this.getQuality();
+        result = result * 59 + ($quality == null ? 43 : $quality.hashCode());
+        Object $count = this.getCount();
+        result = result * 59 + ($count == null ? 43 : $count.hashCode());
+        Object $credentialType = this.getCredentialType();
+        result = result * 59 + ($credentialType == null ? 43 : $credentialType.hashCode());
+        Object $credentialNo = this.getCredentialNo();
+        result = result * 59 + ($credentialNo == null ? 43 : $credentialNo.hashCode());
+        Object $name = this.getName();
+        result = result * 59 + ($name == null ? 43 : $name.hashCode());
+        Object $personCode = this.getPersonCode();
+        result = result * 59 + ($personCode == null ? 43 : $personCode.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SnapEventInfo(deviceId=" + this.getDeviceId() + ", channel=" + this.getChannel() + ", eventCode=" + this.getEventCode() + ", triggerTime=" + this.getTriggerTime() + ", receivingTime=" + this.getReceivingTime() + ", note=" + this.getNote() + ", userParams=" + this.getUserParams() + ", eventPic=" + this.getEventPic() + ", scenePic=" + this.getScenePic() + ", similarity=" + this.getSimilarity() + ", quality=" + this.getQuality() + ", count=" + this.getCount() + ", credentialType=" + this.getCredentialType() + ", credentialNo=" + this.getCredentialNo() + ", name=" + this.getName() + ", personCode=" + this.getPersonCode() + ")";
+    }
+}

+ 63 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventInfoResult.java

@@ -0,0 +1,63 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class SnapEventInfoResult {
+    private SnapEventInfo eventInfo;
+
+    public SnapEventInfoResult() {
+    }
+
+    public SnapEventInfo getEventInfo() {
+        return this.eventInfo;
+    }
+
+    public SnapEventInfoResult setEventInfo(SnapEventInfo eventInfo) {
+        this.eventInfo = eventInfo;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof SnapEventInfoResult)) {
+            return false;
+        } else {
+            SnapEventInfoResult other = (SnapEventInfoResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$eventInfo = this.getEventInfo();
+                Object other$eventInfo = other.getEventInfo();
+                if (this$eventInfo == null) {
+                    if (other$eventInfo != null) {
+                        return false;
+                    }
+                } else if (!this$eventInfo.equals(other$eventInfo)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof SnapEventInfoResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $eventInfo = this.getEventInfo();
+        result = result * 59 + ($eventInfo == null ? 43 : $eventInfo.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SnapEventInfoResult(eventInfo=" + this.getEventInfo() + ")";
+    }
+}

+ 107 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventInfoVo.java

@@ -0,0 +1,107 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class SnapEventInfoVo {
+    private String jsonrpc;
+    private SnapEventInfoResult result;
+    private String id;
+
+    public SnapEventInfoVo() {
+    }
+
+    public String getJsonrpc() {
+        return this.jsonrpc;
+    }
+
+    public SnapEventInfoResult getResult() {
+        return this.result;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public SnapEventInfoVo setJsonrpc(String jsonrpc) {
+        this.jsonrpc = jsonrpc;
+        return this;
+    }
+
+    public SnapEventInfoVo setResult(SnapEventInfoResult result) {
+        this.result = result;
+        return this;
+    }
+
+    public SnapEventInfoVo setId(String id) {
+        this.id = id;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof SnapEventInfoVo)) {
+            return false;
+        } else {
+            SnapEventInfoVo other = (SnapEventInfoVo)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$jsonrpc = this.getJsonrpc();
+                Object other$jsonrpc = other.getJsonrpc();
+                if (this$jsonrpc == null) {
+                    if (other$jsonrpc != null) {
+                        return false;
+                    }
+                } else if (!this$jsonrpc.equals(other$jsonrpc)) {
+                    return false;
+                }
+
+                Object this$result = this.getResult();
+                Object other$result = other.getResult();
+                if (this$result == null) {
+                    if (other$result != null) {
+                        return false;
+                    }
+                } else if (!this$result.equals(other$result)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof SnapEventInfoVo;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $jsonrpc = this.getJsonrpc();
+        result = result * 59 + ($jsonrpc == null ? 43 : $jsonrpc.hashCode());
+        Object $result = this.getResult();
+        result = result * 59 + ($result == null ? 43 : $result.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SnapEventInfoVo(jsonrpc=" + this.getJsonrpc() + ", result=" + this.getResult() + ", id=" + this.getId() + ")";
+    }
+}

+ 168 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/SnapEventResult.java

@@ -0,0 +1,168 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.usky.sas.domain.SasPic;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class SnapEventResult {
+    private String method;
+    private String id;
+    private Integer code;
+    private Integer channel;
+    private String personCode;
+    private SasPic picUrl;
+
+    public SnapEventResult() {
+    }
+
+    public String getMethod() {
+        return this.method;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public Integer getCode() {
+        return this.code;
+    }
+
+    public Integer getChannel() {
+        return this.channel;
+    }
+
+    public String getPersonCode() {
+        return this.personCode;
+    }
+
+    public SasPic getPicUrl() {
+        return this.picUrl;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public void setChannel(Integer channel) {
+        this.channel = channel;
+    }
+
+    public void setPersonCode(String personCode) {
+        this.personCode = personCode;
+    }
+
+    public void setPicUrl(SasPic picUrl) {
+        this.picUrl = picUrl;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof SnapEventResult)) {
+            return false;
+        } else {
+            SnapEventResult other = (SnapEventResult)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$method = this.getMethod();
+                Object other$method = other.getMethod();
+                if (this$method == null) {
+                    if (other$method != null) {
+                        return false;
+                    }
+                } else if (!this$method.equals(other$method)) {
+                    return false;
+                }
+
+                Object this$id = this.getId();
+                Object other$id = other.getId();
+                if (this$id == null) {
+                    if (other$id != null) {
+                        return false;
+                    }
+                } else if (!this$id.equals(other$id)) {
+                    return false;
+                }
+
+                Object this$code = this.getCode();
+                Object other$code = other.getCode();
+                if (this$code == null) {
+                    if (other$code != null) {
+                        return false;
+                    }
+                } else if (!this$code.equals(other$code)) {
+                    return false;
+                }
+
+                Object this$channel = this.getChannel();
+                Object other$channel = other.getChannel();
+                if (this$channel == null) {
+                    if (other$channel != null) {
+                        return false;
+                    }
+                } else if (!this$channel.equals(other$channel)) {
+                    return false;
+                }
+
+                Object this$personCode = this.getPersonCode();
+                Object other$personCode = other.getPersonCode();
+                if (this$personCode == null) {
+                    if (other$personCode != null) {
+                        return false;
+                    }
+                } else if (!this$personCode.equals(other$personCode)) {
+                    return false;
+                }
+
+                Object this$picUrl = this.getPicUrl();
+                Object other$picUrl = other.getPicUrl();
+                if (this$picUrl == null) {
+                    if (other$picUrl != null) {
+                        return false;
+                    }
+                } else if (!this$picUrl.equals(other$picUrl)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof SnapEventResult;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $method = this.getMethod();
+        result = result * 59 + ($method == null ? 43 : $method.hashCode());
+        Object $id = this.getId();
+        result = result * 59 + ($id == null ? 43 : $id.hashCode());
+        Object $code = this.getCode();
+        result = result * 59 + ($code == null ? 43 : $code.hashCode());
+        Object $channel = this.getChannel();
+        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
+        Object $personCode = this.getPersonCode();
+        result = result * 59 + ($personCode == null ? 43 : $personCode.hashCode());
+        Object $picUrl = this.getPicUrl();
+        result = result * 59 + ($picUrl == null ? 43 : $picUrl.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SnapEventResult(method=" + this.getMethod() + ", id=" + this.getId() + ", code=" + this.getCode() + ", channel=" + this.getChannel() + ", personCode=" + this.getPersonCode() + ", picUrl=" + this.getPicUrl() + ")";
+    }
+}

+ 111 - 0
service-sas/service-sas-biz/src/main/java/com/usky/sas/service/vo/UserParams.java

@@ -0,0 +1,111 @@
+package com.usky.sas.service.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModelProperty;
+
+@JsonIgnoreProperties(
+        ignoreUnknown = true
+)
+public class UserParams {
+    @ApiModelProperty("事件备注")
+    private String status;
+    @ApiModelProperty("事件编号")
+    private Integer statusCode;
+    @ApiModelProperty("终端编号")
+    private String handleCode;
+
+    public UserParams() {
+    }
+
+    public String getStatus() {
+        return this.status;
+    }
+
+    public Integer getStatusCode() {
+        return this.statusCode;
+    }
+
+    public String getHandleCode() {
+        return this.handleCode;
+    }
+
+    public UserParams setStatus(String status) {
+        this.status = status;
+        return this;
+    }
+
+    public UserParams setStatusCode(Integer statusCode) {
+        this.statusCode = statusCode;
+        return this;
+    }
+
+    public UserParams setHandleCode(String handleCode) {
+        this.handleCode = handleCode;
+        return this;
+    }
+
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        } else if (!(o instanceof UserParams)) {
+            return false;
+        } else {
+            UserParams other = (UserParams)o;
+            if (!other.canEqual(this)) {
+                return false;
+            } else {
+                Object this$status = this.getStatus();
+                Object other$status = other.getStatus();
+                if (this$status == null) {
+                    if (other$status != null) {
+                        return false;
+                    }
+                } else if (!this$status.equals(other$status)) {
+                    return false;
+                }
+
+                Object this$statusCode = this.getStatusCode();
+                Object other$statusCode = other.getStatusCode();
+                if (this$statusCode == null) {
+                    if (other$statusCode != null) {
+                        return false;
+                    }
+                } else if (!this$statusCode.equals(other$statusCode)) {
+                    return false;
+                }
+
+                Object this$handleCode = this.getHandleCode();
+                Object other$handleCode = other.getHandleCode();
+                if (this$handleCode == null) {
+                    if (other$handleCode != null) {
+                        return false;
+                    }
+                } else if (!this$handleCode.equals(other$handleCode)) {
+                    return false;
+                }
+
+                return true;
+            }
+        }
+    }
+
+    protected boolean canEqual(Object other) {
+        return other instanceof UserParams;
+    }
+
+    public int hashCode() {
+        int PRIME = 59;
+        int result = 1;
+        Object $status = this.getStatus();
+        result = result * 59 + ($status == null ? 43 : $status.hashCode());
+        Object $statusCode = this.getStatusCode();
+        result = result * 59 + ($statusCode == null ? 43 : $statusCode.hashCode());
+        Object $handleCode = this.getHandleCode();
+        result = result * 59 + ($handleCode == null ? 43 : $handleCode.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "UserParams(status=" + this.getStatus() + ", statusCode=" + this.getStatusCode() + ", handleCode=" + this.getHandleCode() + ")";
+    }
+}

+ 15 - 0
service-sas/service-sas-biz/src/main/resources/mapper/pm/SasPatrolUserParamMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.sas.mapper.SasPatrolUserParamMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.sas.domain.SasPatrolUserParam">
+        <id column="id" property="id" />
+        <result column="status" property="status" />
+        <result column="status_code" property="statusCode" />
+        <result column="handle_code" property="handleCode" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>