yaowanxin
昨天 d0df66049bf8ff7fb06d763aec3969288a802e47
改变redis数据存储
已修改1个文件
26 ■■■■■ 文件已修改
cnas-device/src/main/java/com/ruoyi/device/controller/WeightController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/controller/WeightController.java
@@ -35,24 +35,14 @@
    }
    private void processThreeTimesValueDataStream(List<Double> weightList, String dataStream) {
        // 从 Redis 获取已存储的值
        Object valueFromRedis = RedisUtil.get(dataStream);
        JSONArray valueArray = new JSONArray();
        if (valueFromRedis != null) {
            if (valueFromRedis instanceof String) {
                try {
                    valueArray = JSONArray.parseArray((String) valueFromRedis);
                } catch (Exception e) {
                    // 如果解析失败,说明 Redis 中的值可能不是合法的 JSON 数组,创建空数组
                    valueArray = new JSONArray();
                }
            } else if (valueFromRedis instanceof Double) {
                valueArray.add(valueFromRedis);
            }
        // 处理 weightList 为 null 的情况
        if (weightList == null) {
            // 若 weightList 为 null,可选择删除 Redis 中的对应键或存入空数组,这里选择存入空数组
            RedisUtil.set(dataStream, "[]");
            return;
        }
        valueArray.addAll(weightList);
        RedisUtil.set(dataStream, valueArray.toJSONString());
        // 将 weightList 转换为 JSON 字符串并存入 Redis
        String jsonStr = JSONArray.toJSONString(weightList);
        RedisUtil.set(dataStream, jsonStr);
    }
}