[monitor] 告警中心-告警删除
This commit is contained in:
@@ -3,11 +3,13 @@ package com.usthe.alert.service.impl;
|
||||
import com.usthe.alert.dao.AlertDao;
|
||||
import com.usthe.alert.pojo.entity.Alert;
|
||||
import com.usthe.alert.service.AlertService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
@@ -17,6 +19,8 @@ import java.util.HashSet;
|
||||
* @date 2021/12/10 15:39
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Slf4j
|
||||
public class AlertServiceImpl implements AlertService {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -13,10 +13,6 @@
|
||||
</nz-breadcrumb>
|
||||
<nz-divider></nz-divider>
|
||||
|
||||
<button nz-button nzType="primary" (click)="onRestoreAlerts()" >
|
||||
<i nz-icon nzType="up-circle" nzTheme="outline"></i>
|
||||
恢复告警
|
||||
</button>
|
||||
<button nz-button nzType="primary" (click)="onDeleteAlerts()">
|
||||
<i nz-icon nzType="delete" nzTheme="outline"></i>
|
||||
删除告警
|
||||
@@ -68,9 +64,6 @@
|
||||
<td nzAlign="center">{{ data.content }}</td>
|
||||
<td nzAlign="center">{{ data.gmtCreate }}</td>
|
||||
<td nzAlign="center" nzRight>
|
||||
<button nz-button nzType="primary" (click)="onRestoreOneAlert(data.id)">
|
||||
<i nz-icon nzType="up-circle" nzTheme="outline"></i>
|
||||
</button>
|
||||
<button nz-button nzType="primary" (click)="onDeleteOneAlert(data.id)">
|
||||
<i nz-icon nzType="delete" nzTheme="outline"></i>
|
||||
</button>
|
||||
|
||||
@@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core';
|
||||
import {NzTableQueryParams} from "ng-zorro-antd/table";
|
||||
import {Alert} from "../../../pojo/Alert";
|
||||
import {NzNotificationService} from "ng-zorro-antd/notification";
|
||||
import {NzMessageService} from "ng-zorro-antd/message";
|
||||
import {AlertService} from "../../../service/alert.service";
|
||||
import {NzModalService} from "ng-zorro-antd/modal";
|
||||
|
||||
@Component({
|
||||
selector: 'app-alert-center',
|
||||
@@ -14,7 +14,7 @@ import {AlertService} from "../../../service/alert.service";
|
||||
export class AlertCenterComponent implements OnInit {
|
||||
|
||||
constructor(private notifySvc: NzNotificationService,
|
||||
private msg: NzMessageService,
|
||||
private modal: NzModalService,
|
||||
private alertSvc: AlertService) { }
|
||||
|
||||
pageIndex: number = 1;
|
||||
@@ -50,18 +50,53 @@ export class AlertCenterComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
onRestoreAlerts() {
|
||||
|
||||
}
|
||||
onRestoreOneAlert(alertId: number) {
|
||||
|
||||
}
|
||||
onDeleteAlerts() {
|
||||
|
||||
if (this.checkedAlertIds == null || this.checkedAlertIds.size === 0) {
|
||||
this.notifySvc.warning("未选中任何待删除项!","");
|
||||
return;
|
||||
}
|
||||
this.modal.confirm({
|
||||
nzTitle: '请确认是否批量删除!',
|
||||
nzOkText: '确定',
|
||||
nzCancelText: '取消',
|
||||
nzOkDanger: true,
|
||||
nzOkType: "primary",
|
||||
nzOnOk: () => this.deleteAlerts(this.checkedAlertIds)
|
||||
});
|
||||
}
|
||||
|
||||
onDeleteOneAlert(alertId: number) {
|
||||
let alerts = new Set<number>();
|
||||
alerts.add(alertId);
|
||||
this.modal.confirm({
|
||||
nzTitle: '请确认是否删除!',
|
||||
nzOkText: '确定',
|
||||
nzCancelText: '取消',
|
||||
nzOkDanger: true,
|
||||
nzOkType: "primary",
|
||||
nzOnOk: () => this.deleteAlerts(alerts)
|
||||
});
|
||||
}
|
||||
|
||||
deleteAlerts(alertIds: Set<number>) {
|
||||
this.tableLoading = true;
|
||||
const deleteAlerts$ = this.alertSvc.deleteAlerts(alertIds)
|
||||
.subscribe(message => {
|
||||
deleteAlerts$.unsubscribe();
|
||||
if (message.code === 0) {
|
||||
this.notifySvc.success("删除成功!", "");
|
||||
this.loadAlertsTable();
|
||||
} else {
|
||||
this.tableLoading = false;
|
||||
this.notifySvc.error("删除失败!", message.msg);
|
||||
}
|
||||
},
|
||||
error => {
|
||||
this.tableLoading = false;
|
||||
deleteAlerts$.unsubscribe();
|
||||
this.notifySvc.error("删除失败!", error.msg)
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// begin: 列表多选分页逻辑
|
||||
|
||||
@@ -28,4 +28,16 @@ export class AlertService {
|
||||
const options = { params: httpParams };
|
||||
return this.http.get<Message<Page<Alert>>>(alerts_uri, options);
|
||||
}
|
||||
|
||||
public deleteAlerts(alertIds: Set<number>) : Observable<Message<any>> {
|
||||
let httpParams = new HttpParams();
|
||||
alertIds.forEach(alertId => {
|
||||
// 注意HttpParams是不可变对象 需要保存append后返回的对象为最新对象
|
||||
// append方法可以叠加同一key, set方法会把key之前的值覆盖只留一个key-value
|
||||
httpParams = httpParams.append('ids', alertId);
|
||||
})
|
||||
const options = { params: httpParams };
|
||||
return this.http.delete<Message<any>>(alerts_uri, options);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user