修改设备在线状态获取方式

This commit is contained in:
wyw 2024-08-16 03:26:52 +08:00
parent ab9792668c
commit 77386bfbb0
2 changed files with 43 additions and 13 deletions

View File

@ -1608,18 +1608,18 @@ public class DeviceServiceImpl implements IDeviceService {
devices.setProductId(136L);
List<Device> deviceList = selectDeviceList(devices);
for (Device device : deviceList) {
MaWatereleRecord maWatereleRecord = new MaWatereleRecord();
maWatereleRecord.setDevSn(device.getSerialNumber());
TableDataInfo tableDataInfo = watereleRecordService.selectMaWatereleRecordList(maWatereleRecord);
List<MaWatereleRecord> list = (List<MaWatereleRecord>) tableDataInfo.getRows();
int status = 4;
if(list.size() > 0){
MaWatereleRecord record = list.get(0);
if(new Date().getTime() - record.getCreateTime().getTime() < 3600000){
status = 3;
}
}
device.setStatus(status);
// MaWatereleRecord maWatereleRecord = new MaWatereleRecord();
// maWatereleRecord.setDevSn(device.getSerialNumber());
// TableDataInfo tableDataInfo = watereleRecordService.selectMaWatereleRecordList(maWatereleRecord);
// List<MaWatereleRecord> list = (List<MaWatereleRecord>) tableDataInfo.getRows();
// int status = 4;
// if(list.size() > 0){
// MaWatereleRecord record = list.get(0);
// if(new Date().getTime() - record.getCreateTime().getTime() < 3600000){
// status = 3;
// }
// }
// device.setStatus(status);
HashMap<String, Object> itemMap = new HashMap<>();
resultList.add(itemMap);
Integer integer = 0;

View File

@ -1,5 +1,6 @@
package com.fastbee.iot.timer;//package com.fastbee.farming;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.core.redis.RedisCache;
import com.fastbee.common.core.redis.RedisKeyBuilder;
import com.fastbee.common.utils.DateUtils;
@ -17,6 +18,8 @@ import com.fastbee.iot.model.haiwei.HaiWeiPropertyVo;
import com.fastbee.iot.service.IDeviceService;
import com.fastbee.iot.tdengine.service.ILogService;
import com.fastbee.iot.tdengine.service.model.TdLogDto;
import com.fastbee.waterele.domain.MaWatereleRecord;
import com.fastbee.waterele.service.IMaWatereleRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -43,7 +46,8 @@ public class QxtrTask {
private ILogService iLogService;
@Resource
RedisCache redisCache;
@Resource
private IMaWatereleRecordService watereleRecordService;
private static Pattern pattern = Pattern.compile("[-+]?[0-9]+(\\.[0-9]+)?$");
/**
@ -57,6 +61,32 @@ public class QxtrTask {
getDeviceInfo(Long.valueOf(SOLAR_DEVICE.getType()), devices);
}
/**
* 定时任务 更新设备在线状态
*/
public void updateDeviceStatus() throws Exception {
log.info("定时任务,更新设备在线状态");
Device device = new Device();
ArrayList<Map<String, Object>> resultList = new ArrayList<>();
device.setProductId(136L);
List<Device> deviceList = iDeviceService.selectDeviceList(device);
for (Device item : deviceList) {
MaWatereleRecord maWatereleRecord = new MaWatereleRecord();
maWatereleRecord.setDevSn(item.getSerialNumber());
TableDataInfo tableDataInfo = watereleRecordService.selectMaWatereleRecordList(maWatereleRecord);
List<MaWatereleRecord> list = (List<MaWatereleRecord>) tableDataInfo.getRows();
int status = 4;
if(list.size() > 0){
MaWatereleRecord record = list.get(0);
if(new Date().getTime() - record.getCreateTime().getTime() < 3600000){
status = 3;
}
}
item.setStatus(status);
iDeviceService.updateDevice(item);
}
}
/**
* 定时任务 流量计设备
*/