diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go
index 65ce642d5..a3a68b1ab 100644
--- a/models/user_business_analysis.go
+++ b/models/user_business_analysis.go
@@ -246,7 +246,7 @@ func QueryUserStaticDataByTableName(start int, pageSize int, tableName string, q
}
log.Info("query return total:" + fmt.Sprint(allCount))
userBusinessAnalysisAllList := make([]*UserBusinessAnalysisAll, 0)
- if err := statictisSess.Table(tableName).Where(cond).OrderBy("commit_count desc,id desc").Limit(pageSize, start).
+ if err := statictisSess.Table(tableName).Where(cond).OrderBy("user_index desc,id desc").Limit(pageSize, start).
Find(&userBusinessAnalysisAllList); err != nil {
return nil, 0
}
@@ -448,6 +448,9 @@ func refreshUserStaticTable(wikiCountMap map[string]int, tableName string, pageS
var indexTotal int64
indexTotal = 0
insertCount := 0
+ userIndexMap := make(map[int64]float64, 0)
+ maxUserIndex := 0.0
+ minUserIndex := 100000000.0
dateRecordBatch := make([]UserBusinessAnalysisAll, 0)
for {
sess.Select("`user`.*").Table("user").Where(cond).OrderBy("id asc").Limit(PAGE_SIZE, int(indexTotal))
@@ -494,7 +497,13 @@ func refreshUserStaticTable(wikiCountMap map[string]int, tableName string, pageS
dateRecordAll.GpuBenchMarkJob = getMapKeyStringValue(fmt.Sprint(dateRecordAll.ID)+"_GpuBenchMarkJob", CloudBrainTaskItemMap)
dateRecordAll.CommitModelCount = getMapValue(dateRecordAll.ID, AiModelManageMap)
dateRecordAll.UserIndex = getUserIndexFromAnalysisAll(dateRecordAll, ParaWeight)
-
+ userIndexMap[dateRecordAll.ID] = dateRecordAll.UserIndex
+ if maxUserIndex < dateRecordAll.UserIndex {
+ maxUserIndex = dateRecordAll.UserIndex
+ }
+ if minUserIndex > dateRecordAll.UserIndex {
+ minUserIndex = dateRecordAll.UserIndex
+ }
dateRecordBatch = append(dateRecordBatch, dateRecordAll)
if len(dateRecordBatch) >= BATCH_INSERT_SIZE {
insertTable(dateRecordBatch, tableName, statictisSess)
@@ -523,9 +532,19 @@ func refreshUserStaticTable(wikiCountMap map[string]int, tableName string, pageS
}
}
+ //normalization
+ for k, v := range userIndexMap {
+ tmpResult := (v - minUserIndex) / (maxUserIndex - minUserIndex)
+ updateUserIndex(tableName, statictisSess, k, tmpResult)
+ }
log.Info("refresh data finished.tableName=" + tableName + " total record:" + fmt.Sprint(insertCount))
}
+func updateUserIndex(tableName string, statictisSess *xorm.Session, userId int64, userIndex float64) {
+ updateSql := "UPDATE public." + tableName + " set user_index=" + fmt.Sprint(userIndex) + " where id=" + fmt.Sprint(userId)
+ statictisSess.Exec(updateSql)
+}
+
func insertTable(dateRecords []UserBusinessAnalysisAll, tableName string, statictisSess *xorm.Session) {
insertBatchSql := "INSERT INTO public." + tableName +
diff --git a/routers/repo/user_data_analysis.go b/routers/repo/user_data_analysis.go
index 9d906270f..f8a036feb 100755
--- a/routers/repo/user_data_analysis.go
+++ b/routers/repo/user_data_analysis.go
@@ -41,24 +41,24 @@ func queryUserDataPage(ctx *context.Context, tableName string, queryObj interfac
"A1": ctx.Tr("user.static.id"),
"B1": ctx.Tr("user.static.name"),
"C1": ctx.Tr("user.static.codemergecount"),
- "D1": ctx.Tr("user.static.commitcount"),
- "E1": ctx.Tr("user.static.issuecount"),
- "F1": ctx.Tr("user.static.commentcount"),
- "G1": ctx.Tr("user.static.focusrepocount"),
- "H1": ctx.Tr("user.static.starrepocount"),
- "I1": ctx.Tr("user.static.logincount"),
- "J1": ctx.Tr("user.static.watchedcount"),
- "K1": ctx.Tr("user.static.commitcodesize"),
- "L1": ctx.Tr("user.static.solveissuecount"),
- "M1": ctx.Tr("user.static.encyclopediascount"),
- "N1": ctx.Tr("user.static.createrepocount"),
- "O1": ctx.Tr("user.static.openiindex"),
- "P1": ctx.Tr("user.static.registdate"),
- "Q1": ctx.Tr("user.static.CloudBrainTaskNum"),
- "R1": ctx.Tr("user.static.CloudBrainRunTime"),
- "S1": ctx.Tr("user.static.CommitDatasetNum"),
- "T1": ctx.Tr("user.static.CommitModelCount"),
- "U1": ctx.Tr("user.static.UserIndex"),
+ "D1": ctx.Tr("user.static.UserIndex"),
+ "E1": ctx.Tr("user.static.commitcount"),
+ "F1": ctx.Tr("user.static.issuecount"),
+ "G1": ctx.Tr("user.static.commentcount"),
+ "H1": ctx.Tr("user.static.focusrepocount"),
+ "I1": ctx.Tr("user.static.starrepocount"),
+ "J1": ctx.Tr("user.static.logincount"),
+ "K1": ctx.Tr("user.static.watchedcount"),
+ "L1": ctx.Tr("user.static.commitcodesize"),
+ "M1": ctx.Tr("user.static.solveissuecount"),
+ "N1": ctx.Tr("user.static.encyclopediascount"),
+ "O1": ctx.Tr("user.static.createrepocount"),
+ "P1": ctx.Tr("user.static.openiindex"),
+ "Q1": ctx.Tr("user.static.registdate"),
+ "R1": ctx.Tr("user.static.CloudBrainTaskNum"),
+ "S1": ctx.Tr("user.static.CloudBrainRunTime"),
+ "T1": ctx.Tr("user.static.CommitDatasetNum"),
+ "U1": ctx.Tr("user.static.CommitModelCount"),
"V1": ctx.Tr("user.static.countdate"),
}
for k, v := range dataHeader {
@@ -78,28 +78,27 @@ func queryUserDataPage(ctx *context.Context, tableName string, queryObj interfac
xlsx.SetCellValue(sheetName, "A"+rows, userRecord.ID)
xlsx.SetCellValue(sheetName, "B"+rows, userRecord.Name)
xlsx.SetCellValue(sheetName, "C"+rows, userRecord.CodeMergeCount)
- xlsx.SetCellValue(sheetName, "D"+rows, userRecord.CommitCount)
- xlsx.SetCellValue(sheetName, "E"+rows, userRecord.IssueCount)
- xlsx.SetCellValue(sheetName, "F"+rows, userRecord.CommentCount)
- xlsx.SetCellValue(sheetName, "G"+rows, userRecord.FocusRepoCount)
- xlsx.SetCellValue(sheetName, "H"+rows, userRecord.StarRepoCount)
- xlsx.SetCellValue(sheetName, "I"+rows, userRecord.LoginCount)
- xlsx.SetCellValue(sheetName, "J"+rows, userRecord.WatchedCount)
- xlsx.SetCellValue(sheetName, "K"+rows, userRecord.CommitCodeSize)
- xlsx.SetCellValue(sheetName, "L"+rows, userRecord.SolveIssueCount)
- xlsx.SetCellValue(sheetName, "M"+rows, userRecord.EncyclopediasCount)
- xlsx.SetCellValue(sheetName, "N"+rows, userRecord.CreateRepoCount)
- xlsx.SetCellValue(sheetName, "O"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex))
+ xlsx.SetCellValue(sheetName, "D"+rows, fmt.Sprintf("%.2f", userRecord.UserIndex))
+ xlsx.SetCellValue(sheetName, "E"+rows, userRecord.CommitCount)
+ xlsx.SetCellValue(sheetName, "F"+rows, userRecord.IssueCount)
+ xlsx.SetCellValue(sheetName, "G"+rows, userRecord.CommentCount)
+ xlsx.SetCellValue(sheetName, "H"+rows, userRecord.FocusRepoCount)
+ xlsx.SetCellValue(sheetName, "I"+rows, userRecord.StarRepoCount)
+ xlsx.SetCellValue(sheetName, "J"+rows, userRecord.LoginCount)
+ xlsx.SetCellValue(sheetName, "K"+rows, userRecord.WatchedCount)
+ xlsx.SetCellValue(sheetName, "L"+rows, userRecord.CommitCodeSize)
+ xlsx.SetCellValue(sheetName, "M"+rows, userRecord.SolveIssueCount)
+ xlsx.SetCellValue(sheetName, "N"+rows, userRecord.EncyclopediasCount)
+ xlsx.SetCellValue(sheetName, "O"+rows, userRecord.CreateRepoCount)
+ xlsx.SetCellValue(sheetName, "P"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex))
formatTime := userRecord.RegistDate.Format("2006-01-02 15:04:05")
- xlsx.SetCellValue(sheetName, "P"+rows, formatTime[0:len(formatTime)-3])
-
- xlsx.SetCellValue(sheetName, "Q"+rows, userRecord.CloudBrainTaskNum)
- xlsx.SetCellValue(sheetName, "R"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600))
- xlsx.SetCellValue(sheetName, "S"+rows, userRecord.CommitDatasetNum)
- xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitModelCount)
- xlsx.SetCellValue(sheetName, "U"+rows, fmt.Sprintf("%.2f", userRecord.UserIndex))
+ xlsx.SetCellValue(sheetName, "Q"+rows, formatTime[0:len(formatTime)-3])
+ xlsx.SetCellValue(sheetName, "R"+rows, userRecord.CloudBrainTaskNum)
+ xlsx.SetCellValue(sheetName, "S"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600))
+ xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitDatasetNum)
+ xlsx.SetCellValue(sheetName, "U"+rows, userRecord.CommitModelCount)
formatTime = userRecord.DataDate
xlsx.SetCellValue(sheetName, "V"+rows, formatTime)
}
@@ -243,24 +242,24 @@ func QueryUserStaticDataPage(ctx *context.Context) {
"A1": ctx.Tr("user.static.id"),
"B1": ctx.Tr("user.static.name"),
"C1": ctx.Tr("user.static.codemergecount"),
- "D1": ctx.Tr("user.static.commitcount"),
- "E1": ctx.Tr("user.static.issuecount"),
- "F1": ctx.Tr("user.static.commentcount"),
- "G1": ctx.Tr("user.static.focusrepocount"),
- "H1": ctx.Tr("user.static.starrepocount"),
- "I1": ctx.Tr("user.static.logincount"),
- "J1": ctx.Tr("user.static.watchedcount"),
- "K1": ctx.Tr("user.static.commitcodesize"),
- "L1": ctx.Tr("user.static.solveissuecount"),
- "M1": ctx.Tr("user.static.encyclopediascount"),
- "N1": ctx.Tr("user.static.createrepocount"),
- "O1": ctx.Tr("user.static.openiindex"),
- "P1": ctx.Tr("user.static.registdate"),
- "Q1": ctx.Tr("user.static.CloudBrainTaskNum"),
- "R1": ctx.Tr("user.static.CloudBrainRunTime"),
- "S1": ctx.Tr("user.static.CommitDatasetNum"),
- "T1": ctx.Tr("user.static.CommitModelCount"),
- "U1": ctx.Tr("user.static.UserIndex"),
+ "D1": ctx.Tr("user.static.UserIndex"),
+ "E1": ctx.Tr("user.static.commitcount"),
+ "F1": ctx.Tr("user.static.issuecount"),
+ "G1": ctx.Tr("user.static.commentcount"),
+ "H1": ctx.Tr("user.static.focusrepocount"),
+ "I1": ctx.Tr("user.static.starrepocount"),
+ "J1": ctx.Tr("user.static.logincount"),
+ "K1": ctx.Tr("user.static.watchedcount"),
+ "L1": ctx.Tr("user.static.commitcodesize"),
+ "M1": ctx.Tr("user.static.solveissuecount"),
+ "N1": ctx.Tr("user.static.encyclopediascount"),
+ "O1": ctx.Tr("user.static.createrepocount"),
+ "P1": ctx.Tr("user.static.openiindex"),
+ "Q1": ctx.Tr("user.static.registdate"),
+ "R1": ctx.Tr("user.static.CloudBrainTaskNum"),
+ "S1": ctx.Tr("user.static.CloudBrainRunTime"),
+ "T1": ctx.Tr("user.static.CommitDatasetNum"),
+ "U1": ctx.Tr("user.static.CommitModelCount"),
"V1": ctx.Tr("user.static.countdate"),
}
for k, v := range dataHeader {
@@ -274,26 +273,26 @@ func QueryUserStaticDataPage(ctx *context.Context) {
xlsx.SetCellValue(sheetName, "A"+rows, userRecord.ID)
xlsx.SetCellValue(sheetName, "B"+rows, userRecord.Name)
xlsx.SetCellValue(sheetName, "C"+rows, userRecord.CodeMergeCount)
- xlsx.SetCellValue(sheetName, "D"+rows, userRecord.CommitCount)
- xlsx.SetCellValue(sheetName, "E"+rows, userRecord.IssueCount)
- xlsx.SetCellValue(sheetName, "F"+rows, userRecord.CommentCount)
- xlsx.SetCellValue(sheetName, "G"+rows, userRecord.FocusRepoCount)
- xlsx.SetCellValue(sheetName, "H"+rows, userRecord.StarRepoCount)
- xlsx.SetCellValue(sheetName, "I"+rows, userRecord.LoginCount)
- xlsx.SetCellValue(sheetName, "J"+rows, userRecord.WatchedCount)
- xlsx.SetCellValue(sheetName, "K"+rows, userRecord.CommitCodeSize)
- xlsx.SetCellValue(sheetName, "L"+rows, userRecord.SolveIssueCount)
- xlsx.SetCellValue(sheetName, "M"+rows, userRecord.EncyclopediasCount)
- xlsx.SetCellValue(sheetName, "N"+rows, userRecord.CreateRepoCount)
- xlsx.SetCellValue(sheetName, "O"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex))
+ xlsx.SetCellValue(sheetName, "D"+rows, fmt.Sprintf("%.2f", userRecord.UserIndex))
+ xlsx.SetCellValue(sheetName, "E"+rows, userRecord.CommitCount)
+ xlsx.SetCellValue(sheetName, "F"+rows, userRecord.IssueCount)
+ xlsx.SetCellValue(sheetName, "G"+rows, userRecord.CommentCount)
+ xlsx.SetCellValue(sheetName, "H"+rows, userRecord.FocusRepoCount)
+ xlsx.SetCellValue(sheetName, "I"+rows, userRecord.StarRepoCount)
+ xlsx.SetCellValue(sheetName, "J"+rows, userRecord.LoginCount)
+ xlsx.SetCellValue(sheetName, "K"+rows, userRecord.WatchedCount)
+ xlsx.SetCellValue(sheetName, "L"+rows, userRecord.CommitCodeSize)
+ xlsx.SetCellValue(sheetName, "M"+rows, userRecord.SolveIssueCount)
+ xlsx.SetCellValue(sheetName, "N"+rows, userRecord.EncyclopediasCount)
+ xlsx.SetCellValue(sheetName, "O"+rows, userRecord.CreateRepoCount)
+ xlsx.SetCellValue(sheetName, "P"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex))
formatTime := userRecord.RegistDate.Format("2006-01-02 15:04:05")
- xlsx.SetCellValue(sheetName, "P"+rows, formatTime[0:len(formatTime)-3])
- xlsx.SetCellValue(sheetName, "Q"+rows, userRecord.CloudBrainTaskNum)
- xlsx.SetCellValue(sheetName, "R"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600))
- xlsx.SetCellValue(sheetName, "S"+rows, userRecord.CommitDatasetNum)
- xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitModelCount)
- xlsx.SetCellValue(sheetName, "U"+rows, fmt.Sprintf("%.2f", userRecord.UserIndex))
+ xlsx.SetCellValue(sheetName, "Q"+rows, formatTime[0:len(formatTime)-3])
+ xlsx.SetCellValue(sheetName, "R"+rows, userRecord.CloudBrainTaskNum)
+ xlsx.SetCellValue(sheetName, "S"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600))
+ xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitDatasetNum)
+ xlsx.SetCellValue(sheetName, "U"+rows, userRecord.CommitModelCount)
formatTime = userRecord.DataDate
xlsx.SetCellValue(sheetName, "V"+rows, formatTime)
}
diff --git a/web_src/js/components/UserAnalysis.vue b/web_src/js/components/UserAnalysis.vue
index 241768c15..d7a8f1f81 100755
--- a/web_src/js/components/UserAnalysis.vue
+++ b/web_src/js/components/UserAnalysis.vue
@@ -67,6 +67,15 @@
label="PR数"
align="center">
+
+
+ {{scope.row.UserIndex | rounding}}
+
+
-
-
- {{scope.row.UserIndex | rounding}}
-
-
+