[manager,alerter]fix监控删除后告警定义关联未删除

This commit is contained in:
tomsun28
2022-02-22 12:07:00 +08:00
parent ac66499bf3
commit ba28940ee8
2 changed files with 19 additions and 0 deletions

View File

@@ -19,6 +19,18 @@ public interface AlertDefineBindDao extends JpaRepository<AlertDefineMonitorBind
*/
void deleteAlertDefineBindsByAlertDefineIdEquals(Long alertDefineId);
/**
* 根据监控ID删除告警定义监控关联
* @param monitorId 监控ID
*/
void deleteAlertDefineMonitorBindsByMonitorIdEquals(Long monitorId);
/**
* 根据监控ID列表删除告警定义监控关联
* @param monitorIds 监控ID列表
*/
void deleteAlertDefineMonitorBindsByMonitorIdIn(List<Long> monitorIds);
/**
* 根据告警定义ID查询监控关联信息
* @param alertDefineId 告警定义ID

View File

@@ -1,5 +1,6 @@
package com.usthe.manager.service.impl;
import com.usthe.alert.dao.AlertDefineBindDao;
import com.usthe.collector.dispatch.entrance.internal.CollectJobService;
import com.usthe.common.entity.job.Configmap;
import com.usthe.common.entity.job.Job;
@@ -60,6 +61,9 @@ public class MonitorServiceImpl implements MonitorService {
@Autowired
private ParamDao paramDao;
@Autowired
private AlertDefineBindDao alertDefineBindDao;
@Override
@Transactional(readOnly = true)
public void detectMonitor(Monitor monitor, List<Param> params) throws MonitorDetectException {
@@ -279,6 +283,7 @@ public class MonitorServiceImpl implements MonitorService {
Monitor monitor = monitorOptional.get();
monitorDao.deleteById(id);
paramDao.deleteParamsByMonitorId(id);
alertDefineBindDao.deleteAlertDefineMonitorBindsByMonitorIdEquals(id);
collectJobService.cancelAsyncCollectJob(monitor.getJobId());
}
}
@@ -290,6 +295,8 @@ public class MonitorServiceImpl implements MonitorService {
if (monitors != null) {
monitorDao.deleteAll(monitors);
paramDao.deleteParamsByMonitorIdIn(ids);
alertDefineBindDao.deleteAlertDefineMonitorBindsByMonitorIdIn(monitors.stream()
.map(Monitor::getId).collect(Collectors.toList()));
for (Monitor monitor : monitors) {
collectJobService.cancelAsyncCollectJob(monitor.getJobId());
}