jingyuanchao hai 1 ano
pai
achega
41c63d8604

+ 5 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/work/dto/ControlDeviceDto.java

@@ -3,11 +3,15 @@ package com.xunmei.common.core.domain.work.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
+
 /**
  * 单个设备,控制数据
  */
 @Data
-public class ControlDeviceDto {
+public class ControlDeviceDto  implements Serializable {
+
+    private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "上下班id")
     private Long workId;

+ 2 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/impl/IotDeviceStatusServiceImpl.java

@@ -207,6 +207,8 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
                 insert = true;
                 iotAlarmData = BeanHelper.copyProperties(dataReq, IotAlarmData.class);
                 iotAlarmData.setCreateTime(date);
+            }else {
+                BeanUtils.copyProperties(dataReq, iotAlarmData);
             }
             iotAlarmData.setUpdateTime(date);
             iotAlarmData.setOrgId(sysOrg.getId());

+ 13 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotServiceImpl.java

@@ -1,15 +1,19 @@
 package com.xunmei.iot.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xunmei.common.core.domain.iot.domain.IotServerInfo;
 import com.xunmei.common.core.domain.video.MediatorVideoDiagnosisRecord;
 import com.xunmei.iot.mapper.IotDeviceInfoMapper;
 import com.xunmei.iot.mapper.VideoDaysCheckMapper;
 import com.xunmei.iot.mapper.VideoDiagnosisRecordMapper;
+import com.xunmei.iot.service.IotServerInfoService;
 import com.xunmei.iot.service.IotService;
 import com.xunmei.system.api.domain.iot.IotDeviceInfo;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Service
 public class IotServiceImpl implements IotService {
@@ -20,6 +24,9 @@ public class IotServiceImpl implements IotService {
     VideoDiagnosisRecordMapper diagnosisRecordMapper;
     @Resource
     IotDeviceInfoMapper iotDeviceInfoMapper;
+    @Resource
+    IotServerInfoService iotServerInfoService;
+
     @Override
     public Integer selectVideoDayExceptionChannelNums(Long orgId) {
         //此处考虑录像完整性和录像天数,任意一个异常就算异常
@@ -31,10 +38,15 @@ public class IotServiceImpl implements IotService {
     public Integer selectVideoDiagnosisExceptionChannelNums(Long orgId) {
         LambdaQueryWrapper<IotDeviceInfo> channelWrapper = new LambdaQueryWrapper<>();
         channelWrapper.eq(IotDeviceInfo::getOrgId, orgId);
-        channelWrapper.in(IotDeviceInfo::getDeviceType, 2,3);
+        channelWrapper.eq(IotDeviceInfo::getDeleted, 0);
+        channelWrapper.in(IotDeviceInfo::getDeviceType, 2, 3);
         if (iotDeviceInfoMapper.selectCount(channelWrapper) < 1) {
             return null;
         }
+        final List<IotServerInfo> list = iotServerInfoService.selectConnectOrg(false, orgId, null);
+        if (ObjectUtil.isEmpty(list)) {
+            return null;
+        }
         LambdaQueryWrapper<MediatorVideoDiagnosisRecord> wrapper = new LambdaQueryWrapper<MediatorVideoDiagnosisRecord>();
         wrapper.eq(MediatorVideoDiagnosisRecord::getOrgId, orgId);
         wrapper.eq(MediatorVideoDiagnosisRecord::getIsAlarm, 1);

+ 3 - 0
soc-modules/soc-modules-iot/src/main/resources/mapper/IotWorkRuleMapper.xml

@@ -14,6 +14,9 @@
           <if test="req.workRuleType != null and req.workRuleType!='' ">
               and work_rule_type =#{req.workRuleType}
           </if>
+          <if test="req.iotToken != null and req.iotToken!='' ">
+              and iot_token =#{req.iotToken}
+          </if>
       </where>
 
     </select>