37 lines
997 B
Go
37 lines
997 B
Go
package dto
|
|
|
|
import (
|
|
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
// NewListNotificationResponse 从模型数据创建通知列表响应 DTO
|
|
func NewListNotificationResponse(data []models.Notification, total int64, page, pageSize int) *ListNotificationResponse {
|
|
dtos := make([]NotificationDTO, len(data))
|
|
for i, item := range data {
|
|
dtos[i] = NotificationDTO{
|
|
ID: item.ID,
|
|
CreatedAt: item.CreatedAt,
|
|
UpdatedAt: item.UpdatedAt,
|
|
NotifierType: item.NotifierType,
|
|
UserID: item.UserID,
|
|
Title: item.Title,
|
|
Message: item.Message,
|
|
Level: zapcore.Level(item.Level),
|
|
AlarmTimestamp: item.AlarmTimestamp,
|
|
ToAddress: item.ToAddress,
|
|
Status: item.Status,
|
|
ErrorMessage: item.ErrorMessage,
|
|
}
|
|
}
|
|
|
|
return &ListNotificationResponse{
|
|
List: dtos,
|
|
Pagination: PaginationDTO{
|
|
Total: total,
|
|
Page: page,
|
|
PageSize: pageSize,
|
|
},
|
|
}
|
|
}
|