|  | @@ -209,31 +209,27 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void updateGpsMsgInfo(GPSMsgInfo gpsMsgInfo) {
 | 
	
		
			
				|  |  | -        String key = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId() + "_" + gpsMsgInfo.getId();
 | 
	
		
			
				|  |  | +        String key = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId();
 | 
	
		
			
				|  |  |          Duration duration = Duration.ofSeconds(60L);
 | 
	
		
			
				|  |  | -        redisTemplate.opsForValue().set(key, gpsMsgInfo, duration);
 | 
	
		
			
				|  |  | +        redisTemplate.opsForHash().put(key, gpsMsgInfo.getId(),gpsMsgInfo);
 | 
	
		
			
				|  |  | +        redisTemplate.expire(key, duration);
 | 
	
		
			
				|  |  |          // 默认GPS消息保存1分钟
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public GPSMsgInfo getGpsMsgInfo(String channelId) {
 | 
	
		
			
				|  |  | -        String key = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId() + "_" + channelId;
 | 
	
		
			
				|  |  | -        return JsonUtil.redisJsonToObject(redisTemplate, key, GPSMsgInfo.class);
 | 
	
		
			
				|  |  | +        String key = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId();
 | 
	
		
			
				|  |  | +        return (GPSMsgInfo) redisTemplate.opsForHash().get(key, channelId);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public List<GPSMsgInfo> getAllGpsMsgInfo() {
 | 
	
		
			
				|  |  | -        String scanKey = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId() + "_*";
 | 
	
		
			
				|  |  | +        String key = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId();
 | 
	
		
			
				|  |  |          List<GPSMsgInfo> result = new ArrayList<>();
 | 
	
		
			
				|  |  | -        List<Object> keys = RedisUtil.scan(redisTemplate, scanKey);
 | 
	
		
			
				|  |  | -        for (Object o : keys) {
 | 
	
		
			
				|  |  | -            String key = (String) o;
 | 
	
		
			
				|  |  | -            GPSMsgInfo gpsMsgInfo = JsonUtil.redisJsonToObject(redisTemplate, key, GPSMsgInfo.class);
 | 
	
		
			
				|  |  | -            if (Objects.nonNull(gpsMsgInfo) && !gpsMsgInfo.isStored()) { // 只取没有存过得
 | 
	
		
			
				|  |  | -                result.add(JsonUtil.redisJsonToObject(redisTemplate, key, GPSMsgInfo.class));
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +        List<Object> values = redisTemplate.opsForHash().values(key);
 | 
	
		
			
				|  |  | +        for (Object value : values) {
 | 
	
		
			
				|  |  | +            result.add((GPSMsgInfo)value);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |