实现列表查询活跃告警和历史告警
This commit is contained in:
65
internal/app/dto/alarm_converter.go
Normal file
65
internal/app/dto/alarm_converter.go
Normal file
@@ -0,0 +1,65 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
|
||||
)
|
||||
|
||||
// NewListActiveAlarmResponse 从模型数据创建活跃告警列表响应 DTO
|
||||
func NewListActiveAlarmResponse(data []models.ActiveAlarm, total int64, page, pageSize int) *ListActiveAlarmResponse {
|
||||
dtos := make([]ActiveAlarmDTO, len(data))
|
||||
for i, item := range data {
|
||||
dtos[i] = ActiveAlarmDTO{
|
||||
ID: item.ID,
|
||||
CreatedAt: item.CreatedAt,
|
||||
UpdatedAt: item.UpdatedAt,
|
||||
SourceType: item.SourceType,
|
||||
SourceID: item.SourceID,
|
||||
AlarmCode: item.AlarmCode,
|
||||
AlarmSummary: item.AlarmSummary,
|
||||
Level: item.Level,
|
||||
AlarmDetails: item.AlarmDetails,
|
||||
TriggerTime: item.TriggerTime,
|
||||
IsIgnored: item.IsIgnored,
|
||||
IgnoredUntil: item.IgnoredUntil,
|
||||
LastNotifiedAt: item.LastNotifiedAt,
|
||||
}
|
||||
}
|
||||
|
||||
return &ListActiveAlarmResponse{
|
||||
List: dtos,
|
||||
Pagination: PaginationDTO{
|
||||
Total: total,
|
||||
Page: page,
|
||||
PageSize: pageSize,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// NewListHistoricalAlarmResponse 从模型数据创建历史告警列表响应 DTO
|
||||
func NewListHistoricalAlarmResponse(data []models.HistoricalAlarm, total int64, page, pageSize int) *ListHistoricalAlarmResponse {
|
||||
dtos := make([]HistoricalAlarmDTO, len(data))
|
||||
for i, item := range data {
|
||||
dtos[i] = HistoricalAlarmDTO{
|
||||
ID: item.ID,
|
||||
SourceType: item.SourceType,
|
||||
SourceID: item.SourceID,
|
||||
AlarmCode: item.AlarmCode,
|
||||
AlarmSummary: item.AlarmSummary,
|
||||
Level: item.Level,
|
||||
AlarmDetails: item.AlarmDetails,
|
||||
TriggerTime: item.TriggerTime,
|
||||
ResolveTime: item.ResolveTime,
|
||||
ResolveMethod: item.ResolveMethod,
|
||||
ResolvedBy: item.ResolvedBy,
|
||||
}
|
||||
}
|
||||
|
||||
return &ListHistoricalAlarmResponse{
|
||||
List: dtos,
|
||||
Pagination: PaginationDTO{
|
||||
Total: total,
|
||||
Page: page,
|
||||
PageSize: pageSize,
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user