Files
Message-Push-Nest/service/statistic_service/statistic.go
T
2026-01-06 16:36:44 +08:00

55 lines
1.4 KiB
Go

package statistic_service
import (
"message-nest/models"
"strconv"
)
type StatisticService struct {
TaskID string
Days int
}
func (sw *StatisticService) GetStatisticData() (models.StatisticData, error) {
return models.GetStatisticData()
}
// GetBasicStatisticData 获取基础统计数据
func (sw *StatisticService) GetBasicStatisticData() (models.BasicStatisticData, error) {
return models.GetBasicStatisticData()
}
// GetTrendStatisticData 获取趋势统计数据
func (sw *StatisticService) GetTrendStatisticData() (models.TrendStatisticData, error) {
return models.GetTrendStatisticData()
}
// GetChannelStatisticData 获取渠道统计数据
func (sw *StatisticService) GetChannelStatisticData() (models.ChannelStatisticData, error) {
return models.GetChannelStatisticData()
}
// GetSendStatsData 获取发送统计数据(基于 send_stats 表)
func (sw *StatisticService) GetSendStatsData() (models.SendStatsData, error) {
days := sw.Days
if days <= 0 {
days = 30 // 默认30天
}
return models.GetSendStatsData(days)
}
// GetSendStatsByTask 获取指定任务的发送统计数据
func (sw *StatisticService) GetSendStatsByTask() (models.SendStatsData, error) {
days := sw.Days
if days <= 0 {
days = 30 // 默认30天
}
taskID, err := strconv.ParseUint(sw.TaskID, 10, 64)
if err != nil {
return models.SendStatsData{}, err
}
return models.GetSendStatsByTask(uint(taskID), days)
}