66 lines
1.8 KiB
Go
66 lines
1.8 KiB
Go
|
|
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,
|
||
|
|
},
|
||
|
|
}
|
||
|
|
}
|