|
|
|
@@ -233,19 +233,15 @@ 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"). |
|
|
|
Find(&userMetricsList); err != nil { |
|
|
|
return nil, 0 |
|
|
|
} |
|
|
|
postDeal(userMetricsList) |
|
|
|
return userMetricsList, allCount |
|
|
|
postUserMetricsList := postDeal(userMetricsList) |
|
|
|
return postUserMetricsList, int64(len(postUserMetricsList)) |
|
|
|
} |
|
|
|
|
|
|
|
func QueryMetrics(start int64, end int64) ([]*UserMetrics, int) { |
|
|
|
@@ -256,16 +252,31 @@ func QueryMetrics(start int64, end int64) ([]*UserMetrics, int) { |
|
|
|
Find(&userMetricsList); err != nil { |
|
|
|
return nil, 0 |
|
|
|
} |
|
|
|
postDeal(userMetricsList) |
|
|
|
return userMetricsList, len(userMetricsList) |
|
|
|
postUserMetricsList := postDeal(userMetricsList) |
|
|
|
return postUserMetricsList, int(len(postUserMetricsList)) |
|
|
|
} |
|
|
|
|
|
|
|
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) { |
|
|
|
for _, userMetrics := range userMetricsList { |
|
|
|
func postDeal(userMetricsList []*UserMetrics) []*UserMetrics { |
|
|
|
duplicateRemovalUserMetricsList := duplicateRemoval(userMetricsList) |
|
|
|
for _, userMetrics := range duplicateRemovalUserMetricsList { |
|
|
|
userMetrics.DisplayDate = userMetrics.DataDate |
|
|
|
userMetrics.TotalRegistUser = userMetrics.ActivateRegistUser + userMetrics.NotActivateRegistUser |
|
|
|
userMetrics.TotalNotActivateRegistUser = userMetrics.TotalUser - userMetrics.TotalActivateRegistUser |
|
|
|
} |
|
|
|
return duplicateRemovalUserMetricsList |
|
|
|
} |
|
|
|
|
|
|
|
func QueryMetricsForAll() []*UserMetrics { |
|
|
|
@@ -276,7 +287,8 @@ func QueryMetricsForAll() []*UserMetrics { |
|
|
|
Find(&userMetricsList); err != nil { |
|
|
|
return nil |
|
|
|
} |
|
|
|
return makeResultForMonth(userMetricsList, len(userMetricsList)) |
|
|
|
duplicateRemovalUserMetricsList := duplicateRemoval(userMetricsList) |
|
|
|
return makeResultForMonth(duplicateRemovalUserMetricsList, len(duplicateRemovalUserMetricsList)) |
|
|
|
} |
|
|
|
|
|
|
|
func QueryMetricsForYear() []*UserMetrics { |
|
|
|
@@ -879,9 +891,9 @@ func CounDataByDateAndReCount(wikiCountMap map[string]int, startTime time.Time, |
|
|
|
//insert userMetrics table |
|
|
|
var useMetrics UserMetrics |
|
|
|
useMetrics.CountDate = CountDate.Unix() |
|
|
|
useMetrics.DataDate = DataDate |
|
|
|
statictisSess.Delete(&useMetrics) |
|
|
|
|
|
|
|
useMetrics.DataDate = DataDate |
|
|
|
useMetrics.ActivateRegistUser = getMapKeyStringValue("ActivateRegistUser", userMetrics) |
|
|
|
useMetrics.HasActivityUser = getMapKeyStringValue("HasActivityUser", userMetrics) |
|
|
|
useMetrics.RegistActivityUser = 0 |
|
|
|
|