| | |
| | | public final static String Check_Face_ViewConnect = "FaceViewConnectNoData"; |
| | | |
| | | /** 点位在线,hash的key */ |
| | | public final static String ONLINE_PREFIX = "ONLINE_"; |
| | | public final static String ONLINE_KEY = "ONLINE_"; |
| | | |
| | | } |
New file |
| | |
| | | package com.ycl.task; |
| | | |
| | | import constant.RedisConstant; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 定时清理redis中的数据 |
| | | * |
| | | * @author:xp |
| | | * @date:2024/9/10 15:26 |
| | | */ |
| | | @RequiredArgsConstructor |
| | | @Component("clearRedisTask") |
| | | public class ClearRedisTask { |
| | | |
| | | private final RedisTemplate redisTemplate; |
| | | |
| | | /** |
| | | * 清除在线监测的redis计离线次数 |
| | | * |
| | | */ |
| | | public void clearOnlineData() { |
| | | redisTemplate.delete(RedisConstant.ONLINE_KEY); |
| | | } |
| | | |
| | | } |
| | |
| | | vo.setOnline(reachable); |
| | | } |
| | | if (!vo.getOnline()) { |
| | | Integer outLineTimes = (Integer) redisTemplate.opsForHash().get(RedisConstant.ONLINE_PREFIX, monitor.getIp()); |
| | | Integer outLineTimes = (Integer) redisTemplate.opsForHash().get(RedisConstant.ONLINE_KEY, monitor.getIp()); |
| | | if (Objects.isNull(outLineTimes)) { |
| | | outLineTimes = 1; |
| | | } else { |
| | | outLineTimes += 1; |
| | | } |
| | | redisTemplate.opsForHash().put(RedisConstant.ONLINE_PREFIX, monitor.getIp(), outLineTimes); |
| | | redisTemplate.opsForHash().put(RedisConstant.ONLINE_KEY, monitor.getIp(), outLineTimes); |
| | | // 一天内监测到离线1次以上,生成工单 |
| | | if (outLineTimes >= times) { |
| | | WorkOrder workOrder = new WorkOrder(); |