[manager,alerter]fix监控删除后告警定义关联未删除
This commit is contained in:
@@ -19,6 +19,18 @@ public interface AlertDefineBindDao extends JpaRepository<AlertDefineMonitorBind
|
|||||||
*/
|
*/
|
||||||
void deleteAlertDefineBindsByAlertDefineIdEquals(Long alertDefineId);
|
void deleteAlertDefineBindsByAlertDefineIdEquals(Long alertDefineId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监控ID删除告警定义监控关联
|
||||||
|
* @param monitorId 监控ID
|
||||||
|
*/
|
||||||
|
void deleteAlertDefineMonitorBindsByMonitorIdEquals(Long monitorId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监控ID列表删除告警定义监控关联
|
||||||
|
* @param monitorIds 监控ID列表
|
||||||
|
*/
|
||||||
|
void deleteAlertDefineMonitorBindsByMonitorIdIn(List<Long> monitorIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据告警定义ID查询监控关联信息
|
* 根据告警定义ID查询监控关联信息
|
||||||
* @param alertDefineId 告警定义ID
|
* @param alertDefineId 告警定义ID
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.usthe.manager.service.impl;
|
package com.usthe.manager.service.impl;
|
||||||
|
|
||||||
|
import com.usthe.alert.dao.AlertDefineBindDao;
|
||||||
import com.usthe.collector.dispatch.entrance.internal.CollectJobService;
|
import com.usthe.collector.dispatch.entrance.internal.CollectJobService;
|
||||||
import com.usthe.common.entity.job.Configmap;
|
import com.usthe.common.entity.job.Configmap;
|
||||||
import com.usthe.common.entity.job.Job;
|
import com.usthe.common.entity.job.Job;
|
||||||
@@ -60,6 +61,9 @@ public class MonitorServiceImpl implements MonitorService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ParamDao paramDao;
|
private ParamDao paramDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AlertDefineBindDao alertDefineBindDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public void detectMonitor(Monitor monitor, List<Param> params) throws MonitorDetectException {
|
public void detectMonitor(Monitor monitor, List<Param> params) throws MonitorDetectException {
|
||||||
@@ -279,6 +283,7 @@ public class MonitorServiceImpl implements MonitorService {
|
|||||||
Monitor monitor = monitorOptional.get();
|
Monitor monitor = monitorOptional.get();
|
||||||
monitorDao.deleteById(id);
|
monitorDao.deleteById(id);
|
||||||
paramDao.deleteParamsByMonitorId(id);
|
paramDao.deleteParamsByMonitorId(id);
|
||||||
|
alertDefineBindDao.deleteAlertDefineMonitorBindsByMonitorIdEquals(id);
|
||||||
collectJobService.cancelAsyncCollectJob(monitor.getJobId());
|
collectJobService.cancelAsyncCollectJob(monitor.getJobId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -290,6 +295,8 @@ public class MonitorServiceImpl implements MonitorService {
|
|||||||
if (monitors != null) {
|
if (monitors != null) {
|
||||||
monitorDao.deleteAll(monitors);
|
monitorDao.deleteAll(monitors);
|
||||||
paramDao.deleteParamsByMonitorIdIn(ids);
|
paramDao.deleteParamsByMonitorIdIn(ids);
|
||||||
|
alertDefineBindDao.deleteAlertDefineMonitorBindsByMonitorIdIn(monitors.stream()
|
||||||
|
.map(Monitor::getId).collect(Collectors.toList()));
|
||||||
for (Monitor monitor : monitors) {
|
for (Monitor monitor : monitors) {
|
||||||
collectJobService.cancelAsyncCollectJob(monitor.getJobId());
|
collectJobService.cancelAsyncCollectJob(monitor.getJobId());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user