事件配置设备报警后群发消息BUG修复

master
alsszer 6 months ago
parent 22195458c4
commit db19114ba7

@ -38,4 +38,6 @@ public interface IAlertConfigData extends ICommonData<AlertConfig, Long> {
List<AlertConfig> findByUidAndRuleInfoIdAndDeviceName(String uid, String ruleInfoId,String deviceName); List<AlertConfig> findByUidAndRuleInfoIdAndDeviceName(String uid, String ruleInfoId,String deviceName);
Paging<AlertConfig> selectAlertConfigPage(PageRequest<AlertConfig> request); Paging<AlertConfig> selectAlertConfigPage(PageRequest<AlertConfig> request);
List<AlertConfig> findByRuleInfoIdAndDeviceName(String ruleInfoId,String deviceName);
} }

@ -41,4 +41,6 @@ public interface AlertConfigRepository extends JpaRepository<TbAlertConfig, Long
List<TbAlertConfig> findByRuleInfoIdAndEnable(String ruleInfoId,Boolean enable); List<TbAlertConfig> findByRuleInfoIdAndEnable(String ruleInfoId,Boolean enable);
List<TbAlertConfig> findByDeviceNameAndEnable(String deviceName,Boolean enable); List<TbAlertConfig> findByDeviceNameAndEnable(String deviceName,Boolean enable);
List<TbAlertConfig> findByUidAndRuleInfoIdAndDeviceNameAndEnable(String uid, String ruleInfoId,String deviceName,Boolean enable); List<TbAlertConfig> findByUidAndRuleInfoIdAndDeviceNameAndEnable(String uid, String ruleInfoId,String deviceName,Boolean enable);
List<TbAlertConfig> findByRuleInfoIdAndDeviceNameAndEnable(String ruleInfoId, String deviceName, Boolean enable);
} }

@ -82,6 +82,12 @@ public class AlertConfigDataImpl implements IAlertConfigData, IJPACommData<Alert
.findAll(buildQueryCondition(request.getData()), PageBuilder.toPageable(request)); .findAll(buildQueryCondition(request.getData()), PageBuilder.toPageable(request));
return new Paging<>(alertConfigPage.getTotalElements(), MapstructUtils.convert(alertConfigPage.getContent(), AlertConfig.class)); return new Paging<>(alertConfigPage.getTotalElements(), MapstructUtils.convert(alertConfigPage.getContent(), AlertConfig.class));
} }
@Override
public List<AlertConfig> findByRuleInfoIdAndDeviceName(String ruleInfoId,String deviceName) {
return MapstructUtils.convert(alertConfigRepository.findByRuleInfoIdAndDeviceNameAndEnable(ruleInfoId,deviceName,true),AlertConfig.class);
}
@Override @Override
public List<AlertConfig> findByUidAndRuleInfoId(String uid, String ruleInfoId) { public List<AlertConfig> findByUidAndRuleInfoId(String uid, String ruleInfoId) {
return MapstructUtils.convert(alertConfigRepository.findByUidAndRuleInfoId(uid, ruleInfoId), AlertConfig.class); return MapstructUtils.convert(alertConfigRepository.findByUidAndRuleInfoId(uid, ruleInfoId), AlertConfig.class);

@ -367,8 +367,9 @@ public class ThingServiceImpl implements IThingService {
.deviceStatus(device.getDeviceStatus()) .deviceStatus(device.getDeviceStatus())
.occurred(System.currentTimeMillis()) .occurred(System.currentTimeMillis())
.build(); .build();
//增加启用未启用条件查询
List<AlertConfig> config = iAlertConfigData.findByDeviceName(device.getDeviceName()); List<AlertConfig> config = iAlertConfigData.findByDeviceName(device.getDeviceName());
//在设备列表中,添加了手机号并且选择了通知方式、语音、短信等。其实是添加到了告警事件配置里面。
// List<AlertRecord> alerts = idAlertRecordData.selectAlertConfigPage(AlertRecordBo.builder().details(device.getDeviceName()).build()); // List<AlertRecord> alerts = idAlertRecordData.selectAlertConfigPage(AlertRecordBo.builder().details(device.getDeviceName()).build());
System.out.println("设备告警 您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。"); System.out.println("设备告警 您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。");
if (ObjectUtil.isEmpty(config)) { if (ObjectUtil.isEmpty(config)) {
@ -379,7 +380,8 @@ public class ThingServiceImpl implements IThingService {
executor.execute(() -> { executor.execute(() -> {
List<Rule> rules = ruleMessageHandler.processMessage1(thingModelMessage); List<Rule> rules = ruleMessageHandler.processMessage1(thingModelMessage);
for (Rule rule : rules) { for (Rule rule : rules) {
List<AlertConfig> config1 = iAlertConfigData.findByRuleInfoId(rule.getId()); //这里也要加增加启用未启用条件查询
List<AlertConfig> config1 = iAlertConfigData.findByRuleInfoIdAndDeviceName(rule.getId(),device.getDeviceName());
for (int i = 0; i < config1.size(); i++) { for (int i = 0; i < config1.size(); i++) {
idAlertRecordData.save(AlertRecord.builder() idAlertRecordData.save(AlertRecord.builder()
.level(config1.get(i).getLevel()) .level(config1.get(i).getLevel())

Loading…
Cancel
Save