[manager,alerter]fix监控删除后告警定义关联未删除
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user