diff --git a/src/main/java/org/springblade/common/constant/MonitorConstant.java b/src/main/java/org/springblade/common/constant/MonitorConstant.java index dfbebcb..d003f2e 100644 --- a/src/main/java/org/springblade/common/constant/MonitorConstant.java +++ b/src/main/java/org/springblade/common/constant/MonitorConstant.java @@ -62,4 +62,6 @@ public interface MonitorConstant { String REDIS = "redis"; String MYSQL = "mysql"; + String SOFTWARE = "software"; + } diff --git a/src/main/java/org/springblade/modules/monitor/controller/SystemMonitorController.java b/src/main/java/org/springblade/modules/monitor/controller/SystemMonitorController.java index d91f6e3..bf44f43 100644 --- a/src/main/java/org/springblade/modules/monitor/controller/SystemMonitorController.java +++ b/src/main/java/org/springblade/modules/monitor/controller/SystemMonitorController.java @@ -75,4 +75,12 @@ public class SystemMonitorController { List list = configMonitorService.getServerParamsList(); return R.data(list); } + + /** + * 定时排查门禁软件状态 + */ + @GetMapping("/checkSysSoftware") + public R checkSysSoftware() { + return R.data(configMonitorService.checkSysSoftware()); + } } diff --git a/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.java b/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.java index 4984476..aadec66 100644 --- a/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.java +++ b/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.java @@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springblade.modules.monitor.entity.ConfigMonitor; import org.springblade.modules.monitor.vo.ConfigMonitorVO; +import java.util.Date; import java.util.List; /** @@ -39,4 +40,6 @@ public interface ConfigMonitorMapper extends BaseMapper { Integer findMqttEquipCount(String updateTime); + Date getMaxTime(); + } diff --git a/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.xml b/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.xml index 37f183f..64711c6 100644 --- a/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.xml +++ b/src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.xml @@ -67,5 +67,7 @@ AND update_time > #{updateTime} - + diff --git a/src/main/java/org/springblade/modules/monitor/service/IConfigMonitorService.java b/src/main/java/org/springblade/modules/monitor/service/IConfigMonitorService.java index c54b5be..013eed7 100644 --- a/src/main/java/org/springblade/modules/monitor/service/IConfigMonitorService.java +++ b/src/main/java/org/springblade/modules/monitor/service/IConfigMonitorService.java @@ -56,4 +56,6 @@ public interface IConfigMonitorService extends IService { void updateDataWarn(); void updateMonitor(); + + boolean checkSysSoftware(); } diff --git a/src/main/java/org/springblade/modules/monitor/service/impl/ConfigMonitorServiceImpl.java b/src/main/java/org/springblade/modules/monitor/service/impl/ConfigMonitorServiceImpl.java index f4a7fb2..a94fdbc 100644 --- a/src/main/java/org/springblade/modules/monitor/service/impl/ConfigMonitorServiceImpl.java +++ b/src/main/java/org/springblade/modules/monitor/service/impl/ConfigMonitorServiceImpl.java @@ -48,6 +48,7 @@ import org.springblade.modules.system.service.IDictService; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.time.LocalTime; import java.util.*; import java.util.stream.Collectors; @@ -418,7 +419,11 @@ public class ConfigMonitorServiceImpl extends ServiceImpl getMiddleList() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ConfigMonitor::getType, MonitorConstant.REDIS).or().eq(ConfigMonitor::getType, MonitorConstant.MYSQL); + List typeList = new ArrayList<>(); + typeList.add(MonitorConstant.REDIS); + typeList.add(MonitorConstant.MYSQL); + typeList.add(MonitorConstant.SOFTWARE); + wrapper.in(ConfigMonitor::getType, typeList); List list = baseMapper.selectList(wrapper); return list; } @@ -475,6 +480,8 @@ public class ConfigMonitorServiceImpl extends ServiceImpl getParentIdList(List parentIdList, Long parentId) { @@ -495,5 +502,35 @@ public class ConfigMonitorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BaseEntity::getIsDeleted,"0"); + queryWrapper.eq(ConfigMonitor::getType,"software"); + ConfigMonitor monitor = baseMapper.selectOne(queryWrapper); + LocalTime now = LocalTime.now(); + LocalTime start1 = LocalTime.of(17, 0); + LocalTime end1 = LocalTime.of(8, 0); + if((now.isBefore(end1)&&now.isAfter(start1))){ + return true; + } + Date date = new Date(); + Date beforeDate = baseMapper.getMaxTime(); + long diff = date.getTime() - beforeDate.getTime(); + if(diff > 30 * 60 * 1000){ + if(monitor!=null){ + monitor.setStatus(2); + monitor.setResult("result"); + } + baseMapper.updateById(monitor); + return false; + } + if(monitor!=null){ + monitor.setStatus(1); + monitor.setResult("0"); + } + baseMapper.updateById(monitor); + return true; + } } diff --git a/src/main/java/org/springblade/modules/monitor/task/MonitorTaskJob.java b/src/main/java/org/springblade/modules/monitor/task/MonitorTaskJob.java index 6e9dc63..1be4b28 100644 --- a/src/main/java/org/springblade/modules/monitor/task/MonitorTaskJob.java +++ b/src/main/java/org/springblade/modules/monitor/task/MonitorTaskJob.java @@ -11,7 +11,7 @@ public class MonitorTaskJob { private final IConfigMonitorService configMonitorService; //更新设备监控状态 - @Scheduled(cron ="0 0/30 * * * ? ") + @Scheduled(cron ="0 0/1 * * * ? ") public void updateMonitor(){ configMonitorService.updateMonitor(); }