From 21472c5580160e863fdda374c06c8da83d3e6e64 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 15 Oct 2021 17:36:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=AC=A1=E6=95=B0=E3=80=81=E7=94=A8=E6=88=B7=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E9=A1=B9=E7=9B=AE=E3=80=81=E7=94=A8=E6=88=B7openi?= =?UTF-8?q?=E6=8C=87=E6=95=B0=E5=B1=9E=E6=80=A7=EF=BC=8C=E7=9B=AE=E5=89=8D?= =?UTF-8?q?=E5=8F=AA=E5=AE=9E=E7=8E=B0=E7=94=A8=E6=88=B7=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/user_business_analysis.go | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index a00aef0c8..a7d549cd4 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -55,6 +55,15 @@ type UserBusinessAnalysis struct { //user RegistDate timeutil.TimeStamp `xorm:"NOT NULL"` + //repo + CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"` + + //login count, from elk + LoginCount int `xorm:"NOT NULL DEFAULT 0"` + + //openi index + OpenIIndex int `xorm:"NOT NULL DEFAULT 0"` + //user Email string `xorm:"NOT NULL"` @@ -100,6 +109,7 @@ func CountData(wikiCountMap map[string]int) { } CommitDatasetSizeMap := queryDatasetSize(start_unix, end_unix) SolveIssueCountMap := querySolveIssue(start_unix, end_unix) + CreateRepoCountMap := queryUserCreateRepo(start_unix, end_unix) for i, userRecord := range userList { var dateRecord UserBusinessAnalysis @@ -176,6 +186,12 @@ func CountData(wikiCountMap map[string]int) { dateRecord.EncyclopediasCount = wikiCountMap[dateRecord.Name] } + if _, ok := CreateRepoCountMap[dateRecord.ID]; !ok { + dateRecord.CreateRepoCount = 0 + } else { + dateRecord.CreateRepoCount = CreateRepoCountMap[dateRecord.ID] + } + dateRecord.CommitModelCount = 0 statictisSess := xStatistic.NewSession() @@ -322,6 +338,25 @@ func queryDatasetSize(start_unix int64, end_unix int64) map[int64]int { } +func queryUserCreateRepo(start_unix int64, end_unix int64) map[int64]int { + sess := x.NewSession() + defer sess.Close() + sess.Select("id,owner_id,name").Table("repository").Where(" created_unix>=" + fmt.Sprint(start_unix) + " and created_unix<=" + fmt.Sprint(end_unix)) + repoList := make([]*Repository, 0) + sess.Find(&repoList) + resultMap := make(map[int64]int) + log.Info("query Repository size=" + fmt.Sprint(len(repoList))) + for _, repoRecord := range repoList { + if _, ok := resultMap[repoRecord.OwnerID]; !ok { + resultMap[repoRecord.OwnerID] = 1 + } else { + resultMap[repoRecord.OwnerID] += 1 + } + } + return resultMap + +} + func subMonth(t1, t2 time.Time) (month int) { y1 := t1.Year() y2 := t2.Year()