Преглед на файлове

北向录像完整性代码提交

jingyuanchao преди 1 година
родител
ревизия
5af173f9c1

+ 6 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/video/MediatorVideoIntegrityCheckNewest.java → soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/video/MediatorVideoIntegrityCheckLog.java

@@ -22,9 +22,9 @@ import java.time.LocalDate;
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@TableName("mediator_video_integrity_check_newest")
+@TableName("mediator_video_integrity_check_log")
 @ApiModel(value = "VideoIntegrityCheck对象", description = "录像机完整性最后一次检查表")
-public class MediatorVideoIntegrityCheckNewest extends BaseEntity implements Serializable {
+public class MediatorVideoIntegrityCheckLog extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -43,6 +43,10 @@ public class MediatorVideoIntegrityCheckNewest extends BaseEntity implements Ser
     @TableField("org_path")
     private String orgPath;
 
+    @ApiModelProperty(value = "录像完整性id")
+    @TableField("video_integrity_check_id")
+    private Long videoIntegrityCheckId;
+
     @ApiModelProperty(value = "通道序号")
     @TableField("channel_code")
     private String channelCode;

+ 2 - 2
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/mapper/MediatorVideoIntegrityCheckNewestMapper.java → soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/mapper/MediatorVideoIntegrityCheckLogMapper.java

@@ -1,7 +1,7 @@
 package com.xunmei.mediator.api.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckNewest;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
 
 /**
  * <p>
@@ -11,6 +11,6 @@ import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckNewest;
  * @author oygj
  * @since 2024-02-23
  */
-public interface MediatorVideoIntegrityCheckNewestMapper extends BaseMapper<MediatorVideoIntegrityCheckNewest> {
+public interface MediatorVideoIntegrityCheckLogMapper extends BaseMapper<MediatorVideoIntegrityCheckLog> {
 
 }

+ 0 - 16
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/IMediatorVideoIntegrityCheckNewestService.java

@@ -1,16 +0,0 @@
-package com.xunmei.mediator.api.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckNewest;
-
-/**
- * <p>
- * 录像机完整性最后一次检测状态表 服务类
- * </p>
- *
- * @author oygj
- * @since 2024-02-23
- */
-public interface IMediatorVideoIntegrityCheckNewestService extends IService<MediatorVideoIntegrityCheckNewest> {
-
-}

+ 1 - 1
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/IVideoIntegrityCheckService.java

@@ -19,7 +19,7 @@ public interface IVideoIntegrityCheckService extends IService<MediatorVideoInteg
 
     ReceiveErrorDto saveData(VideoIntegrityCheckDto videoIntegrityCheckDto, String msgId, String branchId);
 
-    MediatorVideoIntegrityCheck findByOrgIdAndEquipmentCodeAndAndChannelCodeAndRecordDate(Long orgId, String equipmentCode, String channelCode, Date recordDate);
+    MediatorVideoIntegrityCheck findByOrgIdAndEquipmentCodeAndAndChannelCodeAndRecordDate(Long orgId, String equipmentCode, String channelCode);
 
     MediatorVideoIntegrityCheck findByOrgIdAndEquipmentCodeAndAndChannelCode(Long orgId, String equipmentCode, String channelCode);
 }

+ 19 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/MediatorVideoIntegrityCheckLogService.java

@@ -0,0 +1,19 @@
+package com.xunmei.mediator.api.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
+
+import java.time.LocalDate;
+
+/**
+ * <p>
+ * 录像机完整性最后一次检测状态表 服务类
+ * </p>
+ *
+ * @author oygj
+ * @since 2024-02-23
+ */
+public interface MediatorVideoIntegrityCheckLogService extends IService<MediatorVideoIntegrityCheckLog> {
+
+    MediatorVideoIntegrityCheckLog findByOrgIdAndEquipmentCodeAndChannelCode(Long orgId, String equipmentCode, String channelCode, LocalDate recordDate);
+}

+ 37 - 0
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/MediatorVideoIntegrityCheckLogServiceImpl.java

@@ -0,0 +1,37 @@
+package com.xunmei.mediator.api.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.Constants;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheck;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
+import com.xunmei.mediator.api.mapper.MediatorVideoIntegrityCheckLogMapper;
+import com.xunmei.mediator.api.service.MediatorVideoIntegrityCheckLogService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+
+/**
+ * <p>
+ * 录像机完整性最后一次检测状态表 服务实现类
+ * </p>
+ *
+ * @author oygj
+ * @since 2024-02-23
+ */
+@Service
+public class MediatorVideoIntegrityCheckLogServiceImpl extends ServiceImpl<MediatorVideoIntegrityCheckLogMapper, MediatorVideoIntegrityCheckLog> implements MediatorVideoIntegrityCheckLogService {
+
+
+    @Override
+    public MediatorVideoIntegrityCheckLog findByOrgIdAndEquipmentCodeAndChannelCode(Long orgId, String equipmentCode, String channelCode, LocalDate recordDate) {
+        LambdaQueryWrapper<MediatorVideoIntegrityCheckLog> qw = new LambdaQueryWrapper<>();
+        qw.eq(MediatorVideoIntegrityCheckLog::getOrgId, orgId);
+        qw.eq(MediatorVideoIntegrityCheckLog::getEquipmentCode, equipmentCode);
+        qw.eq(MediatorVideoIntegrityCheckLog::getChannelCode, channelCode);
+        qw.eq(MediatorVideoIntegrityCheckLog::getRecordDate, recordDate);
+        qw.orderByDesc(MediatorVideoIntegrityCheckLog::getCreateTime);
+        qw.last(Constants.LIMIT1);
+        return baseMapper.selectOne(qw);
+    }
+}

+ 0 - 20
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/MediatorVideoIntegrityCheckNewestServiceImpl.java

@@ -1,20 +0,0 @@
-package com.xunmei.mediator.api.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckNewest;
-import com.xunmei.mediator.api.mapper.MediatorVideoIntegrityCheckNewestMapper;
-import com.xunmei.mediator.api.service.IMediatorVideoIntegrityCheckNewestService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 录像机完整性最后一次检测状态表 服务实现类
- * </p>
- *
- * @author oygj
- * @since 2024-02-23
- */
-@Service
-public class MediatorVideoIntegrityCheckNewestServiceImpl extends ServiceImpl<MediatorVideoIntegrityCheckNewestMapper, MediatorVideoIntegrityCheckNewest> implements IMediatorVideoIntegrityCheckNewestService {
-
-}

+ 25 - 5
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/VideoIntegrityCheckServiceImpl.java

@@ -4,6 +4,7 @@ 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;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.constant.Constants;
 import com.xunmei.common.core.constant.SecurityConstants;
@@ -11,6 +12,7 @@ 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.MediatorVideoIntegrityCheck;
+import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
 import com.xunmei.common.core.enums.iot.VideoIntegrityStatus;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.mediator.api.mapper.VideoIntegrityCheckMapper;
@@ -24,6 +26,7 @@ import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
 import io.netty.util.internal.StringUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -58,6 +61,8 @@ public class VideoIntegrityCheckServiceImpl extends ServiceImpl<VideoIntegrityCh
     @Resource
     IVideoDaysCheckService videoDaysCheckService;
     @Resource
+    MediatorVideoIntegrityCheckLogService integrityCheckLogService;
+    @Resource
     IIotDeviceService iIotDeviceService;
     @Resource
     IIotDvrChannelService dvrChannelService;
@@ -89,15 +94,14 @@ public class VideoIntegrityCheckServiceImpl extends ServiceImpl<VideoIntegrityCh
             return ReceiveErrorDto.success();
         }
 
-
-        final Date recordDate = DateUtil.parse(videoIntegrityCheckDto.getRecordDate());
-        MediatorVideoIntegrityCheck old = this.findByOrgIdAndEquipmentCodeAndAndChannelCodeAndRecordDate(org.getId(), videoIntegrityCheckDto.getEquipmentCode(), videoIntegrityCheckDto.getChannelCode(), recordDate);
+        MediatorVideoIntegrityCheck old = this.findByOrgIdAndEquipmentCodeAndAndChannelCodeAndRecordDate(org.getId(), videoIntegrityCheckDto.getEquipmentCode(), videoIntegrityCheckDto.getChannelCode());
         MediatorVideoIntegrityCheck videoIntegrityCheck = new MediatorVideoIntegrityCheck();
         if (old != null) {
             videoIntegrityCheck = old;
             videoIntegrityCheck.setUpdateTime(new Date());
         } else {
             videoIntegrityCheck.setCreateTime(new Date());
+            videoIntegrityCheck.setUpdateTime(new Date());
         }
 
         //获取监控主机
@@ -131,10 +135,27 @@ public class VideoIntegrityCheckServiceImpl extends ServiceImpl<VideoIntegrityCh
         videoIntegrityCheck.setStatus(getStatus(videoIntegrityCheckDto));
         videoIntegrityCheck.setLoseDuration(calculateLoseMinute(videoIntegrityCheck.getLoseSpan()));
         this.saveOrUpdate(videoIntegrityCheck);
+        saveLog(videoIntegrityCheck);
 
         return ReceiveErrorDto.success();
     }
 
+    private void saveLog(MediatorVideoIntegrityCheck videoIntegrityCheck) {
+        MediatorVideoIntegrityCheckLog newLog = new MediatorVideoIntegrityCheckLog();
+        MediatorVideoIntegrityCheckLog logData = integrityCheckLogService.findByOrgIdAndEquipmentCodeAndChannelCode(videoIntegrityCheck.getOrgId(), videoIntegrityCheck.getEquipmentCode(), videoIntegrityCheck.getChannelCode(), videoIntegrityCheck.getRecordDate());
+
+        if (logData != null) {
+            BeanUtils.copyProperties(videoIntegrityCheck,logData,"id");
+            integrityCheckLogService.updateById(logData);
+            return;
+        }
+        BeanUtils.copyProperties(videoIntegrityCheck,newLog);
+        newLog.setId(IdWorker.getId());
+        newLog.setVideoIntegrityCheckId(videoIntegrityCheck.getId());
+        integrityCheckLogService.save(newLog);
+
+    }
+
     private Integer calculateLoseMinute(String loseSpan) {
         if (ObjectUtil.isEmpty(loseSpan)) {
             return 0;
@@ -186,12 +207,11 @@ public class VideoIntegrityCheckServiceImpl extends ServiceImpl<VideoIntegrityCh
 
 
     @Override
-    public MediatorVideoIntegrityCheck findByOrgIdAndEquipmentCodeAndAndChannelCodeAndRecordDate(Long orgId, String equipmentCode, String channelCode, Date recordDate) {
+    public MediatorVideoIntegrityCheck findByOrgIdAndEquipmentCodeAndAndChannelCodeAndRecordDate(Long orgId, String equipmentCode, String channelCode) {
         LambdaQueryWrapper<MediatorVideoIntegrityCheck> qw = new LambdaQueryWrapper<>();
         qw.eq(MediatorVideoIntegrityCheck::getOrgId, orgId);
         qw.eq(MediatorVideoIntegrityCheck::getEquipmentCode, equipmentCode);
         qw.eq(MediatorVideoIntegrityCheck::getChannelCode, channelCode);
-        qw.eq(MediatorVideoIntegrityCheck::getRecordDate, recordDate);
         qw.last(Constants.LIMIT1);
         return baseMapper.selectOne(qw);
     }

+ 1 - 1
soc-modules/soc-modules-mediator/src/main/resources/mapper/MediatorVideoIntegrityCheckNewestMapper.xml → soc-modules/soc-modules-mediator/src/main/resources/mapper/MediatorVideoIntegrityCheckLogMapper.xml

@@ -1,5 +1,5 @@
 <?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.xunmei.mediator.api.mapper.MediatorVideoIntegrityCheckNewestMapper">
+<mapper namespace="com.xunmei.mediator.api.mapper.MediatorVideoIntegrityCheckLogMapper">
 
 </mapper>