Commit 5a7a0a9ef91463821ce31c5fbda5f15f792090ff

Authored by 云中非
1 parent 39ae0c1b

fix: 告警通知清除规则判断设备有效性

@@ -19,6 +19,7 @@ import org.thingsboard.server.common.data.yunteng.dto.ActionAlarmDTO; @@ -19,6 +19,7 @@ import org.thingsboard.server.common.data.yunteng.dto.ActionAlarmDTO;
19 import org.thingsboard.server.common.data.yunteng.dto.AlarmInfoDTO; 19 import org.thingsboard.server.common.data.yunteng.dto.AlarmInfoDTO;
20 import org.thingsboard.server.common.data.yunteng.dto.TriggerDTO; 20 import org.thingsboard.server.common.data.yunteng.dto.TriggerDTO;
21 import org.thingsboard.server.common.data.yunteng.enums.ActionTypeEnum; 21 import org.thingsboard.server.common.data.yunteng.enums.ActionTypeEnum;
  22 +import org.thingsboard.server.common.data.yunteng.enums.ScopeEnum;
22 import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; 23 import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil;
23 import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils; 24 import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils;
24 import org.thingsboard.server.common.msg.TbMsg; 25 import org.thingsboard.server.common.msg.TbMsg;
@@ -204,6 +205,11 @@ class ReactState { @@ -204,6 +205,11 @@ class ReactState {
204 ActionAlarmDTO alarm = JacksonUtil.convertValue(alarmAction.getDoContext(), ActionAlarmDTO.class); 205 ActionAlarmDTO alarm = JacksonUtil.convertValue(alarmAction.getDoContext(), ActionAlarmDTO.class);
205 if (alarm != null && alarm.getClearRule() != null) { 206 if (alarm != null && alarm.getClearRule() != null) {
206 for(TriggerDTO rule:alarm.getClearRule()){ 207 for(TriggerDTO rule:alarm.getClearRule()){
  208 + if(!(ScopeEnum.PART.equals(rule.getEntityType()) && !rule.getEntityId().contains(deviceId))
  209 + || !alarmAction.getDeviceId().contains(deviceId)){
  210 + return null;
  211 + }
  212 +
207 for (AlarmConditionFilter filter : rule.getTriggerCondition().getCondition().getCondition()) { 213 for (AlarmConditionFilter filter : rule.getTriggerCondition().getCondition().getCondition()) {
208 String tempKey =filter.getKey().getKey(); 214 String tempKey =filter.getKey().getKey();
209 if(key.equals(tempKey)){ 215 if(key.equals(tempKey)){