| | |
| | | Object o = redisUtil.get(DeviceRedisConstant.LOCK_PATH + lev); |
| | | List<NavigateNode> navigateNodes = new ArrayList<>(); |
| | | if (o != null) { |
| | | navigateNodes = JSON.parseArray(o.toString(), NavigateNode.class); |
| | | try { |
| | | navigateNodes = objectMapper.readValue(o.toString(), new TypeReference<List<NavigateNode>>() {}); |
| | | } catch (JsonProcessingException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | String nodeStr = null; |
| | | if (lock) { |
| | | navigateNodes.addAll(nodes); |
| | | redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, JSON.toJSONString(navigateNodes, SerializerFeature.DisableCircularReferenceDetect)); |
| | | try { |
| | | nodeStr = objectMapper.writeValueAsString(navigateNodes); |
| | | } catch (JsonProcessingException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, nodeStr); |
| | | }else { |
| | | List<NavigateNode> tmp = new ArrayList<>(); |
| | | for (NavigateNode navigateNode : navigateNodes) { |
| | |
| | | } |
| | | } |
| | | |
| | | redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, JSON.toJSONString(tmp, SerializerFeature.DisableCircularReferenceDetect)); |
| | | try { |
| | | nodeStr = objectMapper.writeValueAsString(tmp); |
| | | } catch (JsonProcessingException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, nodeStr); |
| | | } |
| | | } |
| | | |
| | |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | return navigateNodes; |
| | | } |
| | | |