diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index 4de0c6d1a..453838351 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -233,11 +233,7 @@ func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]*UserMe statictisSess := xStatistic.NewSession() defer statictisSess.Close() cond := "count_date >" + fmt.Sprint(start) + " and count_date<" + fmt.Sprint(end) - allCount, err := statictisSess.Where(cond).Count(new(UserMetrics)) - if err != nil { - log.Info("query error." + err.Error()) - return nil, 0 - } + userMetricsList := make([]*UserMetrics, 0) //.Limit(pageSize, page*pageSize) if err := statictisSess.Table(new(UserMetrics)).Where(cond).OrderBy("count_date desc"). @@ -245,7 +241,7 @@ func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]*UserMe return nil, 0 } postDeal(userMetricsList) - return userMetricsList, allCount + return userMetricsList, int64(len(userMetricsList)) } func QueryMetrics(start int64, end int64) ([]*UserMetrics, int) { @@ -260,7 +256,21 @@ func QueryMetrics(start int64, end int64) ([]*UserMetrics, int) { return userMetricsList, len(userMetricsList) } +func duplicateRemoval(userMetricsList []*UserMetrics) []*UserMetrics { + userMetricsResult := make([]*UserMetrics, 0) + for i := 0; i < len(userMetricsList); i++ { + if i > 0 { + if userMetricsList[i].DataDate == userMetricsList[i-1].DataDate { + continue + } + } + userMetricsResult = append(userMetricsResult, userMetricsList[i]) + } + return userMetricsResult +} + func postDeal(userMetricsList []*UserMetrics) { + userMetricsList = duplicateRemoval(userMetricsList) for _, userMetrics := range userMetricsList { userMetrics.DisplayDate = userMetrics.DataDate userMetrics.TotalRegistUser = userMetrics.ActivateRegistUser + userMetrics.NotActivateRegistUser @@ -276,6 +286,7 @@ func QueryMetricsForAll() []*UserMetrics { Find(&userMetricsList); err != nil { return nil } + userMetricsList = duplicateRemoval(userMetricsList) return makeResultForMonth(userMetricsList, len(userMetricsList)) }