diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index d2dbe4026..fc5343f96 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -232,7 +232,7 @@ func getLastCountDate() int64 { return pageStartTime.Unix() } -func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]UserMetrics, int64) { +func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]*UserMetrics, int64) { statictisSess := xStatistic.NewSession() defer statictisSess.Close() @@ -242,7 +242,7 @@ func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]UserMet log.Info("query error." + err.Error()) return nil, 0 } - userMetricsList := make([]UserMetrics, 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 { @@ -252,10 +252,10 @@ func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]UserMet return userMetricsList, allCount } -func QueryMetrics(start int64, end int64) ([]UserMetrics, int) { +func QueryMetrics(start int64, end int64) ([]*UserMetrics, int) { statictisSess := xStatistic.NewSession() defer statictisSess.Close() - userMetricsList := make([]UserMetrics, 0) + userMetricsList := make([]*UserMetrics, 0) if err := statictisSess.Table(new(UserMetrics)).Where("count_date >" + fmt.Sprint(start) + " and count_date<" + fmt.Sprint(end)).OrderBy("count_date desc"). Find(&userMetricsList); err != nil { return nil, 0 @@ -264,7 +264,7 @@ func QueryMetrics(start int64, end int64) ([]UserMetrics, int) { return userMetricsList, len(userMetricsList) } -func postDeal(userMetricsList []UserMetrics) { +func postDeal(userMetricsList []*UserMetrics) { for _, userMetrics := range userMetricsList { dateTime := time.Unix(userMetrics.CountDate, 0) userMetrics.DisplayDate = dateTime.Format("2006-01-02") @@ -273,10 +273,10 @@ func postDeal(userMetricsList []UserMetrics) { } } -func QueryMetricsForAll() []UserMetrics { +func QueryMetricsForAll() []*UserMetrics { statictisSess := xStatistic.NewSession() defer statictisSess.Close() - userMetricsList := make([]UserMetrics, 0) + userMetricsList := make([]*UserMetrics, 0) if err := statictisSess.Table(new(UserMetrics)).OrderBy("count_date desc"). Find(&userMetricsList); err != nil { return nil @@ -284,7 +284,7 @@ func QueryMetricsForAll() []UserMetrics { return makeResultForMonth(userMetricsList, len(userMetricsList)) } -func QueryMetricsForYear() []UserMetrics { +func QueryMetricsForYear() []*UserMetrics { currentTimeNow := time.Now() currentYearEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location()) currentYearStartTime := time.Date(currentTimeNow.Year(), 1, 1, 0, 0, 0, 0, currentTimeNow.Location()) @@ -293,14 +293,14 @@ func QueryMetricsForYear() []UserMetrics { return makeResultForMonth(allUserInfo, count) } -func makeResultForMonth(allUserInfo []UserMetrics, count int) []UserMetrics { - monthMap := make(map[string]UserMetrics) +func makeResultForMonth(allUserInfo []*UserMetrics, count int) []*UserMetrics { + monthMap := make(map[string]*UserMetrics) if count > 0 { for _, userMetrics := range allUserInfo { dateTime := time.Unix(userMetrics.CountDate, 0) month := fmt.Sprint(dateTime.Year()) + "-" + fmt.Sprint(int(dateTime.Month())) if _, ok := monthMap[month]; !ok { - var monthUserMetrics UserMetrics + var monthUserMetrics *UserMetrics monthUserMetrics.DisplayDate = month monthUserMetrics.ActivateRegistUser = userMetrics.ActivateRegistUser monthUserMetrics.NotActivateRegistUser = userMetrics.NotActivateRegistUser @@ -322,7 +322,7 @@ func makeResultForMonth(allUserInfo []UserMetrics, count int) []UserMetrics { } } } - result := make([]UserMetrics, 0) + result := make([]*UserMetrics, 0) for _, value := range monthMap { result = append(result, value) } @@ -892,7 +892,7 @@ func CounDataByDateAndReCount(wikiCountMap map[string]int, startTime time.Time, useMetrics.TotalActivateRegistUser = getMapKeyStringValue("TotalActivateRegistUser", userMetrics) useMetrics.TotalHasActivityUser = getMapKeyStringValue("TotalHasActivityUser", userMetrics) - count, err = sess.Count(new(User)) + count, err = sess.Where("type=0").Count(new(User)) if err != nil { log.Info("query user error. return.") } diff --git a/routers/repo/user_data_analysis.go b/routers/repo/user_data_analysis.go index 7fd6a3a8b..2823f9c87 100755 --- a/routers/repo/user_data_analysis.go +++ b/routers/repo/user_data_analysis.go @@ -43,7 +43,7 @@ func getUserMetricsExcelHeader(ctx *context.Context) map[string]string { return excelHeaderMap } -func writeUserMetricsExcel(row int, xlsx *excelize.File, sheetName string, userMetrics models.UserMetrics) { +func writeUserMetricsExcel(row int, xlsx *excelize.File, sheetName string, userMetrics *models.UserMetrics) { rows := fmt.Sprint(row) var tmp byte tmp = 0 @@ -264,7 +264,7 @@ func queryMetrics(ctx *context.Context, tableName string, startTime time.Time, e IsReturnFile := ctx.QueryBool("IsReturnFile") var count int64 - result := make([]models.UserMetrics, 0) + result := make([]*models.UserMetrics, 0) if tableName == "public.user_business_analysis_current_year" { result = models.QueryMetricsForYear() count = int64(len(result)) @@ -372,8 +372,8 @@ func QueryUserStaticLastMonth(ctx *context.Context) { } func QueryUserMetricsYesterday(ctx *context.Context) { currentTimeNow := time.Now() - pageStartTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, -1) - pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location()).AddDate(0, 0, -1) + pageStartTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 0, 0, 0, 0, time.Local) + pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location()) queryMetrics(ctx, "public.user_business_analysis_yesterday", pageStartTime, pageEndTime) } func QueryUserStaticYesterday(ctx *context.Context) {