设备监控修改

monitor
sunjianxi 4 months ago
parent 1bb475eb1e
commit ee42e732e8
  1. 2
      src/main/java/org/springblade/common/constant/MonitorConstant.java
  2. 8
      src/main/java/org/springblade/modules/monitor/controller/SystemMonitorController.java
  3. 3
      src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.java
  4. 4
      src/main/java/org/springblade/modules/monitor/mapper/ConfigMonitorMapper.xml
  5. 2
      src/main/java/org/springblade/modules/monitor/service/IConfigMonitorService.java
  6. 39
      src/main/java/org/springblade/modules/monitor/service/impl/ConfigMonitorServiceImpl.java
  7. 2
      src/main/java/org/springblade/modules/monitor/task/MonitorTaskJob.java

@ -62,4 +62,6 @@ public interface MonitorConstant {
String REDIS = "redis";
String MYSQL = "mysql";
String SOFTWARE = "software";
}

@ -75,4 +75,12 @@ public class SystemMonitorController {
List<ConfigMonitor> list = configMonitorService.getServerParamsList();
return R.data(list);
}
/**
* 定时排查门禁软件状态
*/
@GetMapping("/checkSysSoftware")
public R checkSysSoftware() {
return R.data(configMonitorService.checkSysSoftware());
}
}

@ -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<ConfigMonitor> {
Integer findMqttEquipCount(String updateTime);
Date getMaxTime();
}

@ -67,5 +67,7 @@
AND update_time > #{updateTime}
</select>
<select id = "getMaxTime" resultType = "date">
select max(Access_DateTime) from acvb_accesslog
</select>
</mapper>

@ -56,4 +56,6 @@ public interface IConfigMonitorService extends IService<ConfigMonitor> {
void updateDataWarn();
void updateMonitor();
boolean checkSysSoftware();
}

@ -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<ConfigMonitorMapper, C
@Override
public List<ConfigMonitor> getMiddleList() {
LambdaQueryWrapper<ConfigMonitor> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ConfigMonitor::getType, MonitorConstant.REDIS).or().eq(ConfigMonitor::getType, MonitorConstant.MYSQL);
List<String> typeList = new ArrayList<>();
typeList.add(MonitorConstant.REDIS);
typeList.add(MonitorConstant.MYSQL);
typeList.add(MonitorConstant.SOFTWARE);
wrapper.in(ConfigMonitor::getType, typeList);
List<ConfigMonitor> list = baseMapper.selectList(wrapper);
return list;
}
@ -475,6 +480,8 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
monitoringEquip();
//更新报警信息
updateDataWarn();
//更新门禁软件状态
checkSysSoftware();
}
public List<Long> getParentIdList(List<Long> parentIdList, Long parentId) {
@ -495,5 +502,35 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
}
@Override
public boolean checkSysSoftware(){
LambdaQueryWrapper<ConfigMonitor> 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;
}
}

@ -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();
}

Loading…
Cancel
Save