|  | @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
											
												
													
														|  |  import com.xunmei.common.core.constant.Constants;
 |  |  import com.xunmei.common.core.constant.Constants;
 | 
											
												
													
														|  |  import com.xunmei.common.core.constant.SecurityConstants;
 |  |  import com.xunmei.common.core.constant.SecurityConstants;
 | 
											
												
													
														|  |  import com.xunmei.common.core.domain.iot.domain.IotDevice;
 |  |  import com.xunmei.common.core.domain.iot.domain.IotDevice;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
 | 
											
												
													
														|  |  import com.xunmei.common.core.domain.mediator.domain.IotAlarmCode;
 |  |  import com.xunmei.common.core.domain.mediator.domain.IotAlarmCode;
 | 
											
												
													
														|  |  import com.xunmei.common.core.domain.mediator.domain.MediatorCategory;
 |  |  import com.xunmei.common.core.domain.mediator.domain.MediatorCategory;
 | 
											
												
													
														|  |  import com.xunmei.common.core.domain.iot.domain.IotDvrHardDiskDetection;
 |  |  import com.xunmei.common.core.domain.iot.domain.IotDvrHardDiskDetection;
 | 
											
										
											
												
													
														|  | @@ -23,8 +24,11 @@ import com.xunmei.system.api.domain.SysOrg;
 | 
											
												
													
														|  |  import com.xunmei.system.api.dto.protection.ReceiveErrorDto;
 |  |  import com.xunmei.system.api.dto.protection.ReceiveErrorDto;
 | 
											
												
													
														|  |  import com.xunmei.system.api.dto.protection.VideoRecorderHardDiskDetectionEditDto;
 |  |  import com.xunmei.system.api.dto.protection.VideoRecorderHardDiskDetectionEditDto;
 | 
											
												
													
														|  |  import com.xunmei.system.api.enums.AlarmStatus;
 |  |  import com.xunmei.system.api.enums.AlarmStatus;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  |  import org.springframework.transaction.annotation.Transactional;
 |  |  import org.springframework.transaction.annotation.Transactional;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.transaction.support.TransactionSynchronizationAdapter;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.transaction.support.TransactionSynchronizationManager;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import javax.annotation.Resource;
 |  |  import javax.annotation.Resource;
 | 
											
												
													
														|  |  import java.time.LocalDateTime;
 |  |  import java.time.LocalDateTime;
 | 
											
										
											
												
													
														|  | @@ -50,6 +54,9 @@ public class IotDvrHardDiskDetectionServiceImpl extends ServiceImpl<IotDvrHardDi
 | 
											
												
													
														|  |      @Resource
 |  |      @Resource
 | 
											
												
													
														|  |      IotDvrHardDiskDetectionLogService videoRecorderHardDiskDetectionLogService;
 |  |      IotDvrHardDiskDetectionLogService videoRecorderHardDiskDetectionLogService;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private IotAlarmDataService iotAlarmDataService;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public IotDvrHardDiskDetection findTopByEquipmentCodeAndOrgId(String equipmentCode, Long orgId) {
 |  |      public IotDvrHardDiskDetection findTopByEquipmentCodeAndOrgId(String equipmentCode, Long orgId) {
 | 
											
												
													
														|  |          return lambdaQuery()
 |  |          return lambdaQuery()
 | 
											
										
											
												
													
														|  | @@ -183,5 +190,15 @@ public class IotDvrHardDiskDetectionServiceImpl extends ServiceImpl<IotDvrHardDi
 | 
											
												
													
														|  |          videoRecorderHardDiskDetectionLogService.saveOrUpdate(videoRecorderHardDiskDetectionLog);
 |  |          videoRecorderHardDiskDetectionLogService.saveOrUpdate(videoRecorderHardDiskDetectionLog);
 | 
											
												
													
														|  |          iotDvrDiskService.updateStatusByDiskDetection(videoRecorderHardDiskDetection);
 |  |          iotDvrDiskService.updateStatusByDiskDetection(videoRecorderHardDiskDetection);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +        TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
 | 
											
												
													
														|  | 
 |  | +            @Override
 | 
											
												
													
														|  | 
 |  | +            public void afterCommit() {
 | 
											
												
													
														|  | 
 |  | +                try {
 | 
											
												
													
														|  | 
 |  | +                    iotAlarmDataService.dealDvrDiskData(videoRecorderHardDiskDetection);
 | 
											
												
													
														|  | 
 |  | +                } catch (Exception e) {
 | 
											
												
													
														|  | 
 |  | +                    throw new RuntimeException(e);
 | 
											
												
													
														|  | 
 |  | +                }
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +        });
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  }
 |  |  }
 |