Jelajahi Sumber

视频质量代码提交

jingyuanchao 1 tahun lalu
induk
melakukan
4409fc58cb

+ 26 - 1
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/video/service/impl/VideoDiagnosisRecordServiceImpl.java

@@ -21,6 +21,8 @@ import com.xunmei.mediator.domain.dto.videoDiagnosis.VideoDiagnosisDetailInfoVo;
 import com.xunmei.mediator.domain.dto.videoDiagnosis.VideoDiagnosisDto;
 import com.xunmei.mediator.util.CheckDataUtil;
 import com.xunmei.mediator.util.RedisUtil;
+import com.xunmei.mediator.websocket.constant.WebSocketConstants;
+import com.xunmei.mediator.websocket.service.RouterService;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.dto.protection.ReceiveErrorDto;
@@ -44,7 +46,7 @@ import java.util.stream.Collectors;
  * @since 2024-01-23
  */
 @Service
-public class VideoDiagnosisRecordServiceImpl extends ServiceImpl<VideoDiagnosisRecordMapper, MediatorVideoDiagnosisRecord> implements IVideoDiagnosisRecordService {
+public class VideoDiagnosisRecordServiceImpl extends ServiceImpl<VideoDiagnosisRecordMapper, MediatorVideoDiagnosisRecord> implements IVideoDiagnosisRecordService, RouterService {
     @Resource
     RedisUtil redisUtil;
     @Resource
@@ -60,6 +62,29 @@ public class VideoDiagnosisRecordServiceImpl extends ServiceImpl<VideoDiagnosisR
 
     @Autowired
     private IotAlarmDataService iotAlarmDataService;
+
+
+    @Override
+    public String routerKey() {
+        StringJoiner sj = new StringJoiner(",");
+
+        sj.add(WebSocketConstants.VQD);
+
+        return sj.toString();
+    }
+
+
+    @Override
+    public Object execute(String event, Object obj) {
+
+        if (WebSocketConstants.VQD.equals(event)) {
+
+
+
+        }
+        return null;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public ReceiveErrorDto saveData(VideoDiagnosisDto videoDiagnosisDto, String msgId) throws IllegalAccessException, ParseException {

+ 2 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/domain/dto/videoDiagnosis/VideoDiagnosisDetailInfoVo.java

@@ -18,4 +18,6 @@ public class VideoDiagnosisDetailInfoVo {
     private Integer type;
     @JsonProperty("state")
     private Integer state;
+    @JsonProperty("value")
+    private String value;
 }

+ 49 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/domain/dto/videoDiagnosis/VideoDiagnosisReq.java

@@ -0,0 +1,49 @@
+package com.xunmei.mediator.domain.dto.videoDiagnosis;
+
+import com.alibaba.fastjson.JSON;
+import com.xunmei.mediator.domain.dto.redis.RedisKey;
+import com.xunmei.system.api.function.IRedisCompare;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class VideoDiagnosisReq implements IRedisCompare {
+
+    @ApiModelProperty(value = "录像机编号")
+    private String dvsCode;
+
+    @ApiModelProperty(value = "通道编号")
+    private String index;
+
+    @ApiModelProperty(value = "报警状态",notes = "0: 正在报警 | 1:报警结束")
+    private Integer isAlarm;
+
+    @ApiModelProperty(value = "报警时间")
+    private String alarmTime;
+
+    @ApiModelProperty(value = "图片地址")
+    private String imgUrl;
+
+    @ApiModelProperty(value = "详情")
+    private List<String> detailInfo;
+
+
+
+    @Override
+    public String toKey() {
+        return RedisKey.VIDEO_DIAGNOSIS_CHECK_KEY;
+    }
+
+    @Override
+    public String toCompareString() {
+        return JSON.toJSONString(this);
+    }
+}

+ 5 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/websocket/constant/WebSocketConstants.java

@@ -91,6 +91,11 @@ public interface WebSocketConstants {
      */
     String GET_DVS_INFOS_SERVICES = "getDvsInfos";
 
+    /**
+     * 客户端主动上报 视频诊断结果 事件名称
+     */
+    String VQD = "vqd";
+