diff --git a/manager/src/main/java/com/zmops/open/manager/controller/NoticeConfigController.java b/manager/src/main/java/com/zmops/open/manager/controller/NoticeConfigController.java index 2a5331a..6381ed4 100644 --- a/manager/src/main/java/com/zmops/open/manager/controller/NoticeConfigController.java +++ b/manager/src/main/java/com/zmops/open/manager/controller/NoticeConfigController.java @@ -41,6 +41,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.persistence.criteria.Predicate; import javax.validation.Valid; +import java.util.HashSet; import java.util.List; import static com.zmops.open.common.util.CommonConstants.FAIL_CODE; import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @@ -85,6 +86,17 @@ public ResponseEntity> deleteNoticeReceiver( return ResponseEntity.ok(new Message<>("Delete success")); } + + @DeleteMapping(path = "/receivers") + @Operation(summary = "Delete existing recipient information", description = "删除已存在的接收人信息") + public ResponseEntity> deleteNoticeReceivers( + @Parameter(description = "接收人IDS", example = "6565463543") @RequestParam(required = false) List ids) { + if (ids != null && !ids.isEmpty()) { + noticeConfigService.deleteReceivers(new HashSet<>(ids)); + } + return ResponseEntity.ok(new Message<>("Delete success")); + } + @GetMapping(path = "/receiver/{id}") @Operation(summary = "Get existing recipient information", description = "查询已存在的接收人信息") public ResponseEntity> getNoticeReceiver( @@ -145,6 +157,16 @@ public ResponseEntity> deleteNoticeRule( return ResponseEntity.ok(new Message<>("Delete success")); } + + @DeleteMapping(path = "/rules") + @Operation(summary = "Delete existing notification policy information", description = "删除已存在的通知策略信息") + public ResponseEntity> deleteNoticeRules( + @Parameter(description = "en: Notification Policy ID,zh: 通知策略ID", example = "6565463543") @RequestParam(required = false) List ids) { + noticeConfigService.deleteNoticeRules(new HashSet<>(ids)); + return ResponseEntity.ok(new Message<>("Delete success")); + } + + @GetMapping(path = "/rule/{id}") @Operation(summary = "Get existing notification policy information", description = "查询已存在的通知策略信息") public ResponseEntity> getNoticeRule( diff --git a/manager/src/main/java/com/zmops/open/manager/dao/NoticeReceiverDao.java b/manager/src/main/java/com/zmops/open/manager/dao/NoticeReceiverDao.java index 2ed5165..b49b64e 100644 --- a/manager/src/main/java/com/zmops/open/manager/dao/NoticeReceiverDao.java +++ b/manager/src/main/java/com/zmops/open/manager/dao/NoticeReceiverDao.java @@ -21,6 +21,8 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import java.util.Set; + /** * NoticeReceiver数据库操作 * @author tom from hertzbeat @@ -28,4 +30,9 @@ */ public interface NoticeReceiverDao extends JpaRepository, JpaSpecificationExecutor { + /** + * 根据IDS删除 + * @param ids ids + */ + void deleteNoticeReceiversByIdIn(Set ids); } diff --git a/manager/src/main/java/com/zmops/open/manager/dao/NoticeRuleDao.java b/manager/src/main/java/com/zmops/open/manager/dao/NoticeRuleDao.java index 1e3f86b..10b30c5 100644 --- a/manager/src/main/java/com/zmops/open/manager/dao/NoticeRuleDao.java +++ b/manager/src/main/java/com/zmops/open/manager/dao/NoticeRuleDao.java @@ -22,6 +22,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import java.util.List; +import java.util.Set; /** * NoticeRule数据库操作 @@ -35,4 +36,10 @@ public interface NoticeRuleDao extends JpaRepository, JpaSpeci * @return 通知策略 */ List findNoticeRulesByEnableTrue(); + + /** + * 根据IDS删除 + * @param ids ids + */ + void deleteNoticeRulesByIdIn(Set ids); } diff --git a/manager/src/main/java/com/zmops/open/manager/service/NoticeConfigService.java b/manager/src/main/java/com/zmops/open/manager/service/NoticeConfigService.java index 27d39c7..2904c60 100644 --- a/manager/src/main/java/com/zmops/open/manager/service/NoticeConfigService.java +++ b/manager/src/main/java/com/zmops/open/manager/service/NoticeConfigService.java @@ -24,6 +24,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.jpa.domain.Specification; +import java.util.HashSet; import java.util.List; /** @@ -135,4 +136,16 @@ public interface NoticeConfigService { * @return true send success | false send fail */ boolean sendTestMsg(NoticeReceiver noticeReceiver); + + /** + * delete receivers + * @param longs ids + */ + void deleteReceivers(HashSet longs); + + /** + * delete rules + * @param ids ids + */ + void deleteNoticeRules(HashSet ids); } diff --git a/manager/src/main/java/com/zmops/open/manager/service/impl/NoticeConfigServiceImpl.java b/manager/src/main/java/com/zmops/open/manager/service/impl/NoticeConfigServiceImpl.java index 271afee..a0573d3 100644 --- a/manager/src/main/java/com/zmops/open/manager/service/impl/NoticeConfigServiceImpl.java +++ b/manager/src/main/java/com/zmops/open/manager/service/impl/NoticeConfigServiceImpl.java @@ -34,10 +34,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -166,4 +163,14 @@ public boolean sendTestMsg(NoticeReceiver noticeReceiver) { alert.setPriority(CommonConstants.ALERT_PRIORITY_CODE_CRITICAL); return dispatcherAlarm.sendNoticeMsg(noticeReceiver, alert); } + + @Override + public void deleteReceivers(HashSet longs) { + noticeReceiverDao.deleteNoticeReceiversByIdIn(longs); + } + + @Override + public void deleteNoticeRules(HashSet ids) { + noticeRuleDao.deleteNoticeRulesByIdIn(ids); + } }