|
|
@@ -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)) |
|
|
|
} |
|
|
|
|
|
|
|