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