| @@ -219,32 +219,43 @@ func QueryUserStaticDataPage(opts *UserBusinessAnalysisQueryOptions) ([]*UserBus | |||||
| builder.Lte{"count_date": opts.EndTime}, | builder.Lte{"count_date": opts.EndTime}, | ||||
| ) | ) | ||||
| } | } | ||||
| userBusinessAnalysisList = make([]*UserBusinessAnalysis, 0) | |||||
| if err := statictisSess.Table("user_business_analysis").Where(newAndCond).OrderBy("count_date desc"). | |||||
| Find(&userBusinessAnalysisList); err != nil { | |||||
| allCount, err := statictisSess.Where(newAndCond).Count(new(UserBusinessAnalysis)) | |||||
| if err != nil { | |||||
| log.Info("query error." + err.Error()) | |||||
| return nil, 0 | return nil, 0 | ||||
| } | } | ||||
| } | |||||
| log.Info("query result size=" + fmt.Sprint(len(userBusinessAnalysisList))) | |||||
| for _, userRecord := range userBusinessAnalysisList { | |||||
| if _, ok := resultMap[userRecord.ID]; !ok { | |||||
| resultMap[userRecord.ID] = userRecord | |||||
| } else { | |||||
| resultMap[userRecord.ID].CodeMergeCount += userRecord.CodeMergeCount | |||||
| resultMap[userRecord.ID].CommitCount += userRecord.CommitCount | |||||
| resultMap[userRecord.ID].IssueCount += userRecord.IssueCount | |||||
| resultMap[userRecord.ID].CommentCount += userRecord.CommentCount | |||||
| resultMap[userRecord.ID].FocusRepoCount += userRecord.FocusRepoCount | |||||
| resultMap[userRecord.ID].StarRepoCount += userRecord.StarRepoCount | |||||
| resultMap[userRecord.ID].WatchedCount += userRecord.WatchedCount | |||||
| resultMap[userRecord.ID].CommitCodeSize += userRecord.CommitCodeSize | |||||
| resultMap[userRecord.ID].CommitDatasetSize += userRecord.CommitDatasetSize | |||||
| resultMap[userRecord.ID].CommitModelCount += userRecord.CommitModelCount | |||||
| resultMap[userRecord.ID].SolveIssueCount += userRecord.SolveIssueCount | |||||
| resultMap[userRecord.ID].EncyclopediasCount += userRecord.EncyclopediasCount | |||||
| resultMap[userRecord.ID].CreateRepoCount += userRecord.CreateRepoCount | |||||
| resultMap[userRecord.ID].LoginCount += userRecord.LoginCount | |||||
| pageSize := 1000 | |||||
| totalPage := int(allCount) / pageSize | |||||
| for i := 0; i <= int(totalPage); i++ { | |||||
| userBusinessAnalysisList = make([]*UserBusinessAnalysis, 0) | |||||
| if err := statictisSess.Table("user_business_analysis").Where(newAndCond).OrderBy("count_date desc").Limit(pageSize, i*pageSize). | |||||
| Find(&userBusinessAnalysisList); err != nil { | |||||
| return nil, 0 | |||||
| } | |||||
| log.Info("query result size=" + fmt.Sprint(len(userBusinessAnalysisList))) | |||||
| for _, userRecord := range userBusinessAnalysisList { | |||||
| if _, ok := resultMap[userRecord.ID]; !ok { | |||||
| resultMap[userRecord.ID] = userRecord | |||||
| } else { | |||||
| resultMap[userRecord.ID].CodeMergeCount += userRecord.CodeMergeCount | |||||
| resultMap[userRecord.ID].CommitCount += userRecord.CommitCount | |||||
| resultMap[userRecord.ID].IssueCount += userRecord.IssueCount | |||||
| resultMap[userRecord.ID].CommentCount += userRecord.CommentCount | |||||
| resultMap[userRecord.ID].FocusRepoCount += userRecord.FocusRepoCount | |||||
| resultMap[userRecord.ID].StarRepoCount += userRecord.StarRepoCount | |||||
| resultMap[userRecord.ID].WatchedCount += userRecord.WatchedCount | |||||
| resultMap[userRecord.ID].CommitCodeSize += userRecord.CommitCodeSize | |||||
| resultMap[userRecord.ID].CommitDatasetSize += userRecord.CommitDatasetSize | |||||
| resultMap[userRecord.ID].CommitModelCount += userRecord.CommitModelCount | |||||
| resultMap[userRecord.ID].SolveIssueCount += userRecord.SolveIssueCount | |||||
| resultMap[userRecord.ID].EncyclopediasCount += userRecord.EncyclopediasCount | |||||
| resultMap[userRecord.ID].CreateRepoCount += userRecord.CreateRepoCount | |||||
| resultMap[userRecord.ID].LoginCount += userRecord.LoginCount | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } | ||||