Ver código fonte

Merge branch 'V0.0.6-iot' of http://10.87.21.221:8000/jzyd_yyds/soc into V0.0.6-iot

zhulu 1 ano atrás
pai
commit
b97290b548

+ 0 - 7
project_data/sql/0.0.6-iot/soc/soc.sql

@@ -907,13 +907,6 @@ INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `c
 INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 0, '正常', '0', 'iot_device_net_status', NULL, 'default', 'N', '0', '超级管理员', '2024-02-23 10:24:07', '', NULL, NULL);
 INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 1, '异常', '1', 'iot_device_net_status', NULL, 'default', 'N', '0', '超级管理员', '2024-02-23 10:24:16', '', NULL, NULL);
 INSERT INTO `sys_dict_data` ( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '中断', '2', 'iot_device_net_status', NULL, 'default', 'N', '0', '超级管理员', '2024-02-23 10:24:24', '', NULL, NULL);
-INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231113254, 'App动环传感器设备类型', 'app_sensor_device_type', '0', '超级管理员', '2024-03-04 16:21:31', '', NULL, '值与web应保持一致,文本有差异');
-INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231115451, 0, '温湿度', '4183', 'app_sensor_device_type', NULL, 'default', 'N', '0', '超级管理员', '2024-03-04 16:22:31', '', NULL, NULL);
-INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231115452, 1, '红外', '4181', 'app_sensor_device_type', NULL, 'default', 'N', '0', '超级管理员', '2024-03-04 16:22:41', '超级管理员', '2024-03-04 16:22:45', NULL);
-INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231115453, 2, '烟感', '4182', 'app_sensor_device_type', NULL, 'default', 'N', '0', '超级管理员', '2024-03-04 16:22:58', '', NULL, NULL);
-INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231115454, 3, '水浸', '4184', 'app_sensor_device_type', NULL, 'default', 'N', '0', '超级管理员', '2024-03-04 16:23:16', '', NULL, NULL);
-INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231115455, 4, '门窗磁', '4188', 'app_sensor_device_type', NULL, 'default', 'N', '0', '超级管理员', '2024-03-04 16:23:38', '', NULL, NULL);
-INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20231115456, 5, '燃气', '41885', 'app_sensor_device_type', NULL, 'default', 'N', '0', '超级管理员', '2024-03-04 16:23:49', '', NULL, NULL);
 
 
 -- 调整统计报表菜单名称

+ 0 - 2
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoDiagnosisController.java

@@ -6,7 +6,6 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisAppPageDto;
 import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisWebPageDto;
 import com.xunmei.iot.service.VideoDiagnosisService;
-import com.xunmei.iot.vo.videoDays.VideoDayCheckWebDetailVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisIntegrityVo;
 import com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebPageVo;
@@ -16,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
 
 /**
  * 录像诊断

+ 32 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/VideoIntegrityCheckLogMapper.java

@@ -0,0 +1,32 @@
+package com.xunmei.iot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheck;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
+import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckPageDto;
+import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckWebPageDto;
+import com.xunmei.iot.vo.ChannelSingleDetailVo;
+import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckPageVo;
+import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebDeviceVo;
+import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 录像机完整性检查表 Mapper 接口
+ * </p>
+ *
+ * @author yzl
+ * @since 2022-07-26
+ */
+@Mapper
+public interface VideoIntegrityCheckLogMapper extends BaseMapper<MediatorVideoIntegrityCheckLog> {
+
+}

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

@@ -7,7 +7,6 @@ import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisAppPageDto;
 import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisWebPageDto;
 import com.xunmei.iot.vo.videoDiagnosis.*;
 import org.apache.http.annotation.Obsolete;
-import org.springframework.web.bind.annotation.PathVariable;
 
 import java.util.Date;
 

+ 16 - 14
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDiagnosisServiceImpl.java

@@ -8,14 +8,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.iot.domain.IotDvrChannel;
-import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
-import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheck;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
 import com.xunmei.common.core.enums.CategoryDataEnum;
 import com.xunmei.common.core.enums.iot.VideoIntegrityStatus;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisAppPageDto;
 import com.xunmei.iot.dto.videoDiagnosis.VideoDiagnosisWebPageDto;
 import com.xunmei.iot.mapper.IotDvrChannelMapper;
+import com.xunmei.iot.mapper.VideoIntegrityCheckLogMapper;
 import com.xunmei.iot.mapper.VideoIntegrityCheckMapper;
 import com.xunmei.iot.service.VideoDiagnosisService;
 import com.xunmei.iot.vo.videoDiagnosis.*;
@@ -24,7 +24,6 @@ import com.xunmei.system.api.domain.SysOrg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.validation.constraints.AssertFalse;
 import java.text.SimpleDateFormat;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -41,6 +40,8 @@ public class VideoDiagnosisServiceImpl extends ServiceImpl<IotDvrChannelMapper,
     @Autowired
     VideoIntegrityCheckMapper videoIntegrityCheckMapper;
 
+    @Autowired
+    VideoIntegrityCheckLogMapper videoIntegrityCheckLogMapper;
     @Override
     public TableDataInfo<VideoDiagnosisWebPageVo> getPageData(VideoDiagnosisWebPageDto request) {
         String orgPath = "";
@@ -93,12 +94,12 @@ public class VideoDiagnosisServiceImpl extends ServiceImpl<IotDvrChannelMapper,
         }
 
         if (ObjectUtil.isNotNull(vo) && ObjectUtil.isNotNull(vo.getStorage()) && ObjectUtil.isNotNull(vo.getStorage().getEarliestTime())) {
-            LambdaQueryWrapper<MediatorVideoIntegrityCheck> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(MediatorVideoIntegrityCheck::getEquipmentCode, hostCode)
-                    .eq(MediatorVideoIntegrityCheck::getChannelCode, channelCode)
-                    .ge(MediatorVideoIntegrityCheck::getRecordDate, vo.getStorage().getEarliestTime())
-                    .select(MediatorVideoIntegrityCheck::getRecordDate, MediatorVideoIntegrityCheck::getStatus);
-            Map<Integer, List<MediatorVideoIntegrityCheck>> days = videoIntegrityCheckMapper.selectList(wrapper)
+            LambdaQueryWrapper<MediatorVideoIntegrityCheckLog> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(MediatorVideoIntegrityCheckLog::getEquipmentCode, hostCode)
+                    .eq(MediatorVideoIntegrityCheckLog::getChannelCode, channelCode)
+                    .ge(MediatorVideoIntegrityCheckLog::getRecordDate,DateUtil.beginOfDay(vo.getStorage().getEarliestTime()) )
+                    .select(MediatorVideoIntegrityCheckLog::getRecordDate, MediatorVideoIntegrityCheckLog::getStatus);
+            Map<Integer, List<MediatorVideoIntegrityCheckLog>> days = videoIntegrityCheckLogMapper.selectList(wrapper)
                     .stream().collect(Collectors.groupingBy(d -> d.getStatus()));
 
             DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -155,12 +156,13 @@ public class VideoDiagnosisServiceImpl extends ServiceImpl<IotDvrChannelMapper,
 
     @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);
+        LambdaQueryWrapper<MediatorVideoIntegrityCheckLog> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(MediatorVideoIntegrityCheckLog::getEquipmentCode, hostCode)
+                .eq(MediatorVideoIntegrityCheckLog::getChannelCode, channelCode)
+                .eq(MediatorVideoIntegrityCheckLog::getRecordDate, date);
+
 
-        MediatorVideoIntegrityCheck entity = videoIntegrityCheckMapper.selectOne(wrapper);
+        MediatorVideoIntegrityCheckLog entity = videoIntegrityCheckLogMapper.selectOne(wrapper);
         return VideoDiagnosisIntegrityVo.of(entity);
     }
 }

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

@@ -8,7 +8,7 @@ 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.domain.video.MediatorVideoIntegrityCheckLog;
 import com.xunmei.common.core.utils.bean.BeanUtils;
 import lombok.Data;
 
@@ -51,7 +51,7 @@ public class VideoDiagnosisIntegrityVo {
         return JSON.parseArray(checkSpan, TimeRangeVo.class);
     }
 
-    public static VideoDiagnosisIntegrityVo of(MediatorVideoIntegrityCheck entity) {
+    public static VideoDiagnosisIntegrityVo of(MediatorVideoIntegrityCheckLog entity) {
         if (ObjectUtil.isNull(entity)) {
             return null;
         }

+ 5 - 5
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/videoDiagnosis/VideoDiagnosisWebPageVo.java

@@ -41,11 +41,11 @@ public class VideoDiagnosisWebPageVo {
     @ApiModelProperty("实际存储(天)")
     private String realDays;
 
-    @ApiModelProperty("无视频信号")
-    private Integer signalLost;
-
-    @ApiModelProperty("视频遮挡")
-    private Integer occlude;
+//    @ApiModelProperty("无视频信号")
+//    private Integer signalLost;
+//
+//    @ApiModelProperty("视频遮挡")
+//    private Integer occlude;
 
     @ApiModelProperty("视频质量")
     private Integer quality;

+ 1 - 3
soc-modules/soc-modules-iot/src/main/resources/mapper/IotDvrChannelMapper.xml

@@ -56,10 +56,8 @@
         vic.lose_duration,
         vdc.plan_days,
         vdc.real_days,
-        vdr.signal_lost,
-        vdr.occlude,
         if(vdr.id is
-        null,null,if(vdr.brightness+vdr.color_cast+vdr.snowflake+vdr.stripe+vdr.contrast+vdr.blurry>=1,1,0))
+        null,null,if(vdr.signal_lost+vdr.occlude+vdr.brightness+vdr.color_cast+vdr.snowflake+vdr.stripe+vdr.contrast+vdr.blurry>=1,1,0))
         as quality
         from iot_dvr_channel c
         INNER JOIN iot_device d on c.host_code=d.equipment_code

+ 8 - 8
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/VideoDaysCheckServiceImpl.java

@@ -1,6 +1,5 @@
 package com.xunmei.mediator.api.service.impl;
 
-import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -12,7 +11,6 @@ import com.xunmei.common.core.domain.iot.domain.IotDevice;
 import com.xunmei.common.core.domain.iot.domain.IotDvrChannel;
 import com.xunmei.common.core.domain.video.MediatorVideoDaysCheck;
 import com.xunmei.common.core.domain.video.MediatorVideoDaysCheckLog;
-import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.mediator.api.mapper.VideoDaysCheckMapper;
 import com.xunmei.mediator.api.service.*;
 import com.xunmei.mediator.domain.dto.videoDaysCheck.VideoDaysCheckDto;
@@ -112,18 +110,20 @@ public class VideoDaysCheckServiceImpl extends ServiceImpl<VideoDaysCheckMapper,
         videoDaysCheck.setUpdateTime(new Date());
         videoDaysCheck.setChannelCode(videoDaysCheckDto.getChannelCode());
         videoDaysCheck.setChannelName(videoDaysCheckDto.getChannelName());
-        videoDaysCheck.setCheckDate(JSON.toJSONString(videoDaysCheckDto.getCheckDate()));
+        if (ObjectUtil.isNotEmpty(videoDaysCheckDto.getCheckDate())){
+            videoDaysCheck.setCheckDate(JSON.toJSONString(videoDaysCheckDto.getCheckDate()));
+        }
         videoDaysCheck.setEquipmentCode(videoDaysCheckDto.getEquipmentCode());
-        videoDaysCheck.setLoseDate(JSON.toJSONString(videoDaysCheckDto.getLoseDate()));
+        if (ObjectUtil.isNotEmpty(videoDaysCheckDto.getLoseDate())){
+            videoDaysCheck.setLoseDate(JSON.toJSONString(videoDaysCheckDto.getLoseDate()));
+        }
         videoDaysCheck.setPlanDays(videoDaysCheckDto.getPlanDays());
         videoDaysCheck.setRealDays(videoDaysCheckDto.getRealDays());
         videoDaysCheck.setOrgId(org.getId());
         videoDaysCheck.setOrgName(org.getShortName());
         videoDaysCheck.setOrgPath(org.getPath());
-        videoDaysCheck.setEarliestVideoTime(LocalDateTime.parse(videoDaysCheckDto.getEarliestVideoTime(), DateTimeFormatter.ISO_DATE_TIME));
-        if (ObjectUtil.isNotEmpty(videoDaysCheckDto.getEarliestVideoTime())) {
-            String dateStr = videoDaysCheckDto.getEarliestVideoTime().replace("T", " ");
-            videoDaysCheck.setEarliestVideoTime(DateUtils.toLocalDateTime(DateUtil.parse(dateStr, "yyyy-MM-dd HH:mm:ss")));
+        if(ObjectUtil.isNotEmpty(videoDaysCheckDto.getEarliestVideoTime())){
+            videoDaysCheck.setEarliestVideoTime(LocalDateTime.parse(videoDaysCheckDto.getEarliestVideoTime(), DateTimeFormatter.ISO_DATE_TIME));
         }
         videoDaysCheck.setStatus(0);
         if (ObjectUtil.isAllNotEmpty(videoDaysCheck.getCheckDate(), videoDaysCheck.getLoseDate()) && !"null".equals(videoDaysCheck.getLoseDate()) && !"null".equals(videoDaysCheck.getCheckDate()) && !"[]".equals(videoDaysCheck.getLoseDate()) && !"[]".equals(videoDaysCheck.getCheckDate())) {