diff --git a/manager/src/main/java/com/usthe/manager/dao/NoticeRuleDao.java b/manager/src/main/java/com/usthe/manager/dao/NoticeRuleDao.java index b1d5be3..075fb7a 100644 --- a/manager/src/main/java/com/usthe/manager/dao/NoticeRuleDao.java +++ b/manager/src/main/java/com/usthe/manager/dao/NoticeRuleDao.java @@ -4,6 +4,8 @@ import com.usthe.manager.pojo.entity.NoticeRule; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import java.util.List; + /** * NoticeRule数据库操作 * @author tom @@ -11,4 +13,9 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; */ public interface NoticeRuleDao extends JpaRepository, JpaSpecificationExecutor { + /** + * 查询所有已启用的通知策略 + * @return 通知策略 + */ + List findNoticeRulesByEnableTrue(); } diff --git a/manager/src/main/java/com/usthe/manager/service/impl/NoticeConfigServiceImpl.java b/manager/src/main/java/com/usthe/manager/service/impl/NoticeConfigServiceImpl.java index 569a03b..e1890cd 100644 --- a/manager/src/main/java/com/usthe/manager/service/impl/NoticeConfigServiceImpl.java +++ b/manager/src/main/java/com/usthe/manager/service/impl/NoticeConfigServiceImpl.java @@ -12,7 +12,6 @@ import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -76,10 +75,10 @@ public class NoticeConfigServiceImpl implements NoticeConfigService { @Override public List getReceiverFilterRule(Alert alert) { // todo 使用缓存 - List rules = noticeRuleDao.findAll(); + List rules = noticeRuleDao.findNoticeRulesByEnableTrue(); // todo 暂时规则是全部转发 后面实现更多匹配规则:告警状态选择 监控类型选择等 Set receiverIds = rules.stream() - .filter(item -> item.isFilterAll() && item.isEnable()) + .filter(NoticeRule::isFilterAll) .map(NoticeRule::getReceiverId) .collect(Collectors.toSet()); return noticeReceiverDao.findAllById(receiverIds); diff --git a/web-app/src/app/routes/alert/alert-notice/alert-notice.component.html b/web-app/src/app/routes/alert/alert-notice/alert-notice.component.html index c68410e..ebf1679 100644 --- a/web-app/src/app/routes/alert/alert-notice/alert-notice.component.html +++ b/web-app/src/app/routes/alert/alert-notice/alert-notice.component.html @@ -234,6 +234,12 @@ + + 是否启用 + + + +