|
|
@@ -71,6 +71,49 @@ type UserBusinessAnalysis struct { |
|
|
|
Name string `xorm:"NOT NULL"` |
|
|
|
} |
|
|
|
|
|
|
|
func QueryUserStaticData(startTime int64, endTime int64) []*UserBusinessAnalysis { |
|
|
|
log.Info("query startTime =" + fmt.Sprint(startTime) + " endTime=" + fmt.Sprint(endTime)) |
|
|
|
statictisSess := xStatistic.NewSession() |
|
|
|
defer statictisSess.Close() |
|
|
|
|
|
|
|
statictisSess.Select("*").Table("user_business_analysis").Where(" count_date>=" + fmt.Sprint(startTime) + " and count_date<=" + fmt.Sprint(endTime)).OrderBy("count_date desc") |
|
|
|
|
|
|
|
userBusinessAnalysisList := make([]*UserBusinessAnalysis, 0) |
|
|
|
statictisSess.Find(&userBusinessAnalysisList) |
|
|
|
|
|
|
|
resultMap := make(map[int64]*UserBusinessAnalysis) |
|
|
|
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 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
userBusinessAnalysisReturnList := make([]*UserBusinessAnalysis, len(resultMap)) |
|
|
|
index := 0 |
|
|
|
for _, v := range resultMap { |
|
|
|
userBusinessAnalysisReturnList[index] = v |
|
|
|
index += 1 |
|
|
|
} |
|
|
|
log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) |
|
|
|
return userBusinessAnalysisReturnList |
|
|
|
} |
|
|
|
|
|
|
|
func CountData(wikiCountMap map[string]int) { |
|
|
|
log.Info("start to count other user info data") |
|
|
|
sess := x.NewSession() |
|
|
|