Files
pig-farm-controller/internal/app/dto/alarm_converter.go

66 lines
1.8 KiB
Go
Raw Permalink Normal View History

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,
},
}
}