ソースを参照

修改设备报警条件关联关系存储到redis的bug

lixing 3 年 前
コミット
b1a5fd5fb3

+ 3 - 2
AlarmEngineStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmengine/jms/AlarmEngineMsgHandler.java

@@ -241,7 +241,7 @@ public class AlarmEngineMsgHandler {
                 //从redis拿到设备的报警条件信息
                 ObjConditionInfo objConditionInfo = redisUtil.get(RedisConstants.OBJ_CONDITION_REL, alarmConfigItem.getObjId(), ObjConditionInfo.class);
                 LinkedList<ItemCodeCondition> conditions = objConditionInfo.getConditions();
-                LinkedList<ItemCodeCondition> conditionsRemain = objConditionInfo.getConditions();
+                LinkedList<ItemCodeCondition> conditionsRemain = new LinkedList<>();
                 for (ItemCodeCondition condition : conditions) {
                     if (alarmConfigItem.getItemCode().equals(condition.getItemCode())) {
                         //删除报警条件
@@ -253,7 +253,8 @@ public class AlarmEngineMsgHandler {
                 if (CollectionUtil.isEmpty(conditionsRemain)) {
                     redisUtil.delete(RedisConstants.OBJ_CONDITION_REL, alarmConfigItem.getObjId());
                 } else {
-                    redisUtil.put(RedisConstants.OBJ_CONDITION_REL, alarmConfigItem.getObjId(), conditionsRemain);
+                    objConditionInfo.setConditions(conditionsRemain);
+                    redisUtil.put(RedisConstants.OBJ_CONDITION_REL, alarmConfigItem.getObjId(), objConditionInfo);
                 }
             }
         }