Browse Source

提交代码。

Signed-off-by: zouap <zouap@pcl.ac.cn>
pull/618/head
zouap 3 years ago
parent
commit
d739407e0d
2 changed files with 25 additions and 12 deletions
  1. +25
    -0
      models/user_business_analysis.go
  2. +0
    -12
      models/user_login_log.go

+ 25
- 0
models/user_business_analysis.go View File

@@ -153,6 +153,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)
LoginCountMap := queryLoginCount(start_unix, end_unix)

for i, userRecord := range userList {
var dateRecord UserBusinessAnalysis
@@ -235,6 +236,12 @@ func CountData(wikiCountMap map[string]int) {
dateRecord.CreateRepoCount = CreateRepoCountMap[dateRecord.ID]
}

if _, ok := LoginCountMap[dateRecord.ID]; !ok {
dateRecord.LoginCount = 0
} else {
dateRecord.LoginCount = LoginCountMap[dateRecord.ID]
}

dateRecord.CommitModelCount = 0

statictisSess := xStatistic.NewSession()
@@ -421,6 +428,24 @@ func queryUserCreateRepo(start_unix int64, end_unix int64) map[int64]int {
return resultMap
}

func queryLoginCount(start_unix int64, end_unix int64) map[int64]int {
statictisSess := xStatistic.NewSession()
defer statictisSess.Close()
statictisSess.Select("id,u_id").Table("user_login_log").Where("created_unix>=" + fmt.Sprint(start_unix) + " and created_unix<=" + fmt.Sprint(end_unix))
userLoginLogList := make([]*UserLoginLog, 0)
statictisSess.Find(&userLoginLogList)
resultMap := make(map[int64]int)
log.Info("query user login size=" + fmt.Sprint(len(userLoginLogList)))
for _, loginRecord := range userLoginLogList {
if _, ok := resultMap[loginRecord.UId]; !ok {
resultMap[loginRecord.UId] = 1
} else {
resultMap[loginRecord.UId] += 1
}
}
return resultMap
}

func subMonth(t1, t2 time.Time) (month int) {
y1 := t1.Year()
y2 := t2.Year()


+ 0
- 12
models/user_login_log.go View File

@@ -1,11 +1,8 @@
package models

import (
"encoding/json"
"fmt"
"net/http"

"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil"
)

@@ -24,23 +21,14 @@ func SaveLoginInfoToDb(r *http.Request, u *User) {

dateRecord.UId = u.ID
dateRecord.IpAddr = getIP(r)
log.Info("uid=" + fmt.Sprint(dateRecord.UId))
log.Info("ip=" + dateRecord.IpAddr)

statictisSess.Insert(&dateRecord)
}

func getIP(r *http.Request) string {
headerjson, _ := json.Marshal(r.Header)
log.Info("header json=" + string(headerjson))

trailerjson, _ := json.Marshal(r.Trailer)
log.Info("trailerjson=" + string(trailerjson))

forwarded := r.Header.Get("X-FORWARDED-FOR")
if forwarded != "" {
return forwarded
}

return r.RemoteAddr
}

Loading…
Cancel
Save