Parcourir la source

完善录像诊断详情

jiawuxian il y a 1 an
Parent
commit
bef3d144b8

+ 6 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoDiagnosisService.java

@@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.iot.domain.IotDvrChannel;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisWebPageDto;
+import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisIntegrityVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebPageVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebVo;
 import org.apache.http.annotation.Obsolete;
+import org.springframework.web.bind.annotation.PathVariable;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -23,4 +27,6 @@ public interface VideoDiagnosisService extends IService<IotDvrChannel> {
 
     VideoDiagnosisWebVo getDetail(String equipmentCode,String channelCode);
 
+  VideoDiagnosisIntegrityVo getIntegrity(String hostCode, String channelCode , Date date);
+
 }

+ 13 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDiagnosisServiceImpl.java

@@ -13,6 +13,7 @@ import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisWebPageDto;
 import com.xunmei.iot.mapper.IotDvrChannelMapper;
 import com.xunmei.iot.mapper.VideoIntegrityCheckMapper;
 import com.xunmei.iot.service.VideoDiagnosisService;
+import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisIntegrityVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebPageVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebVo;
 import com.xunmei.system.api.RemoteOrgService;
@@ -23,6 +24,7 @@ import org.springframework.stereotype.Service;
 import javax.validation.constraints.AssertFalse;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -96,4 +98,15 @@ public class VideoDiagnosisServiceImpl extends ServiceImpl<IotDvrChannelMapper,
 
         return vo;
     }
+
+    @Override
+    public VideoDiagnosisIntegrityVo getIntegrity(String hostCode, String channelCode, Date date) {
+        LambdaQueryWrapper<MediatorVideoIntegrityCheck> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(MediatorVideoIntegrityCheck::getEquipmentCode, hostCode)
+                .eq(MediatorVideoIntegrityCheck::getChannelCode, channelCode)
+                .eq(MediatorVideoIntegrityCheck::getRecordDate, date);
+
+        MediatorVideoIntegrityCheck entity = videoIntegrityCheckMapper.selectOne(wrapper);
+        return VideoDiagnosisIntegrityVo.of(entity);
+    }
 }

+ 19 - 15
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/videoDiagnosis/VideoDiagnosisIntegrityVo.java

@@ -1,5 +1,6 @@
 package com.xunmei.iot.vo.videoDiagnosis;
 
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -7,6 +8,8 @@ import java.util.List;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheck;
+import com.xunmei.common.core.utils.bean.BeanUtils;
 import lombok.Data;
 
 /**
@@ -29,9 +32,9 @@ public class VideoDiagnosisIntegrityVo {
 
     private List<TimeRangeVo> losts;
 
-    public List<TimeRangeVo> getLosts(){
-        if(ObjectUtil.isEmpty(loseSpan)){
-            return  new ArrayList<>();
+    public List<TimeRangeVo> getLosts() {
+        if (ObjectUtil.isEmpty(loseSpan)) {
+            return new ArrayList<>();
         }
         return JSON.parseArray(loseSpan, TimeRangeVo.class);
     }
@@ -40,21 +43,22 @@ public class VideoDiagnosisIntegrityVo {
     private String checkSpan;
 
     private List<TimeRangeVo> checks;
-    public List<TimeRangeVo> getChecks(){
-        if(ObjectUtil.isEmpty(checkSpan)){
-            return  new ArrayList<>();
+
+    public List<TimeRangeVo> getChecks() {
+        if (ObjectUtil.isEmpty(checkSpan)) {
+            return new ArrayList<>();
         }
         return JSON.parseArray(checkSpan, TimeRangeVo.class);
     }
-//    public void setLosts(String info) {
-//        this.losts = JSON.parseArray(info, TimeRange.class);
-//    }
 
-//    @Data
-//    public class TimeRange {
-//        private String st;
-//
-//        private String et;
-//    }
+    public static VideoDiagnosisIntegrityVo of(MediatorVideoIntegrityCheck entity) {
+        if (ObjectUtil.isNull(entity)) {
+            return null;
+        }
 
+        VideoDiagnosisIntegrityVo vo = new VideoDiagnosisIntegrityVo();
+        BeanUtils.copyProperties(entity, vo);
+        vo.setRecordDate(Date.from(entity.getRecordDate().atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()));
+        return vo;
+    }
 }