|
|
@@ -2,10 +2,13 @@ package com.xunmei.mediator.api.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson2.JSON;
|
|
|
+import com.alibaba.nacos.common.utils.JacksonUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xunmei.common.core.constant.CacheConstants;
|
|
|
import com.xunmei.common.core.domain.iot.domain.IotDevice;
|
|
|
import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
|
|
|
+import com.xunmei.common.core.domain.iot.domain.IotDvrHardDiskDetection;
|
|
|
import com.xunmei.common.core.enums.CategoryDataEnum;
|
|
|
import com.xunmei.common.core.utils.IDHelper;
|
|
|
import com.xunmei.common.redis.utils.RedisUtils;
|
|
|
@@ -54,6 +57,32 @@ public class IotDvrDiskServiceImpl extends ServiceImpl<IotDvrDiskMapper, IotDvrD
|
|
|
private IIotDeviceService iotDeviceService;
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateStatusByDiskDetection(IotDvrHardDiskDetection videoRecorderHardDiskDetection) {
|
|
|
+ final String equipmentCode = videoRecorderHardDiskDetection.getEquipmentCode();
|
|
|
+ final List<IotDvrDisk> list = lambdaQuery().eq(IotDvrDisk::getHostCode, equipmentCode).eq(IotDvrDisk::getDeleted, 0).list();
|
|
|
+ final String detailInfo = videoRecorderHardDiskDetection.getDetailInfo();
|
|
|
+ final List<Map> mapList = JSON.parseArray(detailInfo, Map.class);
|
|
|
+ List<IotDvrDisk> diskArrayList = new ArrayList<>();
|
|
|
+ for (Map map : mapList) {
|
|
|
+ final Integer index = (Integer) map.get("index");
|
|
|
+ if (ObjectUtil.isNull(index)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ final Optional<IotDvrDisk> first = list.stream().filter(disk -> ObjectUtil.equal(disk.getDiskIndex(), String.valueOf(index))).findFirst();
|
|
|
+ if (first.isPresent()) {
|
|
|
+ final IotDvrDisk iotDvrDisk = first.get();
|
|
|
+ iotDvrDisk.setState((Integer) map.get("state"));
|
|
|
+ iotDvrDisk.setStateUpdateTime(LocalDateTime.now());
|
|
|
+ iotDvrDisk.setUpdateTime(LocalDateTime.now());
|
|
|
+ diskArrayList.add(iotDvrDisk);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ updateBatchById(diskArrayList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public ReceiveErrorDto saveData(DataPageDto<DvrDiskPageDto> request, String msgId) throws Exception {
|
|
|
//验证基础分页信息
|
|
|
ReceiveErrorDto dto = CheckDataUtil.checkObjFieldIsNull(request);
|