更新 MonitorService.java
parent
ff590d8c05
commit
31f4d13a7a
|
|
@ -33,8 +33,16 @@ public class MonitorService {
|
||||||
@Scheduled(fixedDelay = 480000)
|
@Scheduled(fixedDelay = 480000)
|
||||||
public void monitorOnlineDevices() {
|
public void monitorOnlineDevices() {
|
||||||
List<DeviceInfoDAO> devices = getAllDevices();
|
List<DeviceInfoDAO> devices = getAllDevices();
|
||||||
|
if (devices.isEmpty()) {
|
||||||
|
// 没有找到数据的处理逻辑
|
||||||
|
logger.info("no data was queried.");
|
||||||
|
}
|
||||||
for (DeviceInfoDAO device : devices) {
|
for (DeviceInfoDAO device : devices) {
|
||||||
try {
|
try {
|
||||||
|
if (device.getIsMonitored() != 1){
|
||||||
|
logger.info("device is not monitored ,device SN: {}",device.getSN());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
long currentTimeMillis = System.currentTimeMillis();
|
||||||
if (currentTimeMillis - device.getLastOnlineTime() > device.getTimeOutPeriod()) {
|
if (currentTimeMillis - device.getLastOnlineTime() > device.getTimeOutPeriod()) {
|
||||||
updateStatus(device, 0); // 设备离线
|
updateStatus(device, 0); // 设备离线
|
||||||
|
|
@ -43,7 +51,7 @@ public class MonitorService {
|
||||||
updateStatus(device, 1); // 设备在线
|
updateStatus(device, 1); // 设备在线
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("Error processing device with ID " + device.getAndroidId(), e);
|
logger.error("Error processing device with SN " + device.getSN(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -90,9 +98,11 @@ public class MonitorService {
|
||||||
textCard.setTitle("设备掉线通知");
|
textCard.setTitle("设备掉线通知");
|
||||||
String formattedCurrentTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
String formattedCurrentTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||||
textCard.setDescription("<div class='gray'>设备信息</div>" +
|
textCard.setDescription("<div class='gray'>设备信息</div>" +
|
||||||
"<div class='highlight'>设备id: " + deviceInfoDAO.getAndroidId() + "</div>" +
|
"<div class='highlight'>品牌: " + deviceInfoDAO.getDeviceBrand() + "</div>" +
|
||||||
"<div class='highlight'>设备型号: " + deviceInfoDAO.getDeviceModel() + "</div>" +
|
"<div class='highlight'>设备型号: " + deviceInfoDAO.getDeviceModel() + "</div>" +
|
||||||
"<div class='highlight'>检测到掉线时间: " + formattedCurrentTime + "</div>"+
|
"<div class='highlight'>安卓版本: " + deviceInfoDAO.getAndroidVersion() + "</div>" +
|
||||||
|
"<div class='highlight'>SN: " + deviceInfoDAO.getSN() + "</div>" +
|
||||||
|
"<div class='highlight'>监测到掉线时间: " + formattedCurrentTime + "</div>" +
|
||||||
"检测到设备已掉线,请及时查看设备状态.");
|
"检测到设备已掉线,请及时查看设备状态.");
|
||||||
textCard.setUrl("https://kimgo.cn");
|
textCard.setUrl("https://kimgo.cn");
|
||||||
// 将TextCard对象设置到TextCardMessage中
|
// 将TextCard对象设置到TextCardMessage中
|
||||||
|
|
@ -105,17 +115,17 @@ public class MonitorService {
|
||||||
private void updateStatus(DeviceInfoDAO device, int status) {
|
private void updateStatus(DeviceInfoDAO device, int status) {
|
||||||
try {
|
try {
|
||||||
UpdateWrapper<DeviceInfoDAO> updateWrapper = new UpdateWrapper<>();
|
UpdateWrapper<DeviceInfoDAO> updateWrapper = new UpdateWrapper<>();
|
||||||
updateWrapper.eq("android_id", device.getAndroidId());
|
updateWrapper.eq("SN", device.getSN());
|
||||||
updateWrapper.set("status", status);
|
updateWrapper.set("status", status);
|
||||||
|
|
||||||
int result = deviceInfoDAOMapper.update(null, updateWrapper);
|
int result = deviceInfoDAOMapper.update(null, updateWrapper);
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
logger.debug("Update successful for device ID: " + device.getAndroidId());
|
logger.debug("Update successful for SN: " + device.getSN());
|
||||||
} else {
|
} else {
|
||||||
logger.warn("Update failed: No rows affected for device ID: " + device.getAndroidId());
|
logger.warn("Update failed: No rows affected for SN: " + device.getSN());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("Error updating status for device ID: " + device.getAndroidId(), e);
|
logger.error("Error updating status for SN: " + device.getSN(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue