Browse Source

Merge remote-tracking branch 'origin/zouap_static' into fix-1936

pull/2093/head
wangjr 3 years ago
parent
commit
96cda6aca1
3 changed files with 27 additions and 18 deletions
  1. +11
    -3
      models/user_business_analysis.go
  2. +1
    -0
      models/user_business_struct.go
  3. +15
    -15
      routers/repo/user_data_analysis.go

+ 11
- 3
models/user_business_analysis.go View File

@@ -243,12 +243,13 @@ func QueryMetricsPage(start int64, end int64, page int, pageSize int) ([]UserMet
return nil, 0 return nil, 0
} }
userMetricsList := make([]UserMetrics, 0) userMetricsList := make([]UserMetrics, 0)
if err := statictisSess.Table(new(UserMetrics)).Where(cond).Limit(pageSize, page*pageSize).OrderBy("count_date desc").
//.Limit(pageSize, page*pageSize)
if err := statictisSess.Table(new(UserMetrics)).Where(cond).OrderBy("count_date desc").
Find(&userMetricsList); err != nil { Find(&userMetricsList); err != nil {
return nil, 0 return nil, 0
} }
postDeal(userMetricsList)
return userMetricsList, allCount return userMetricsList, allCount

} }


func QueryMetrics(start int64, end int64) ([]UserMetrics, int) { func QueryMetrics(start int64, end int64) ([]UserMetrics, int) {
@@ -259,11 +260,16 @@ func QueryMetrics(start int64, end int64) ([]UserMetrics, int) {
Find(&userMetricsList); err != nil { Find(&userMetricsList); err != nil {
return nil, 0 return nil, 0
} }
postDeal(userMetricsList)
return userMetricsList, len(userMetricsList)
}

func postDeal(userMetricsList []UserMetrics) {
for _, userMetrics := range userMetricsList { for _, userMetrics := range userMetricsList {
dateTime := time.Unix(userMetrics.CountDate, 0) dateTime := time.Unix(userMetrics.CountDate, 0)
userMetrics.DisplayDate = dateTime.Format("2006-01-02") userMetrics.DisplayDate = dateTime.Format("2006-01-02")
userMetrics.TotalRegistUser = userMetrics.ActivateRegistUser + userMetrics.NotActivateRegistUser
} }
return userMetricsList, len(userMetricsList)
} }


func QueryMetricsForAll() []UserMetrics { func QueryMetricsForAll() []UserMetrics {
@@ -302,6 +308,7 @@ func makeResultForMonth(allUserInfo []UserMetrics, count int) []UserMetrics {
monthUserMetrics.TotalHasActivityUser = userMetrics.TotalHasActivityUser monthUserMetrics.TotalHasActivityUser = userMetrics.TotalHasActivityUser
monthUserMetrics.HasActivityUser = userMetrics.HasActivityUser monthUserMetrics.HasActivityUser = userMetrics.HasActivityUser
monthUserMetrics.DaysForMonth = 1 monthUserMetrics.DaysForMonth = 1
monthUserMetrics.TotalRegistUser = userMetrics.ActivateRegistUser + userMetrics.NotActivateRegistUser
monthMap[month] = monthUserMetrics monthMap[month] = monthUserMetrics
} else { } else {
value := monthMap[month] value := monthMap[month]
@@ -311,6 +318,7 @@ func makeResultForMonth(allUserInfo []UserMetrics, count int) []UserMetrics {
value.TotalActivateRegistUser += userMetrics.TotalActivateRegistUser value.TotalActivateRegistUser += userMetrics.TotalActivateRegistUser
value.TotalHasActivityUser += userMetrics.TotalHasActivityUser value.TotalHasActivityUser += userMetrics.TotalHasActivityUser
value.HasActivityUser += userMetrics.HasActivityUser value.HasActivityUser += userMetrics.HasActivityUser
value.TotalRegistUser += userMetrics.TotalRegistUser
value.DaysForMonth += 1 value.DaysForMonth += 1
} }
} }


+ 1
- 0
models/user_business_struct.go View File

@@ -407,6 +407,7 @@ type UserMetrics struct {
RegistActivityUser int `xorm:"NOT NULL DEFAULT 0"` RegistActivityUser int `xorm:"NOT NULL DEFAULT 0"`
HasActivityUser int `xorm:"NOT NULL DEFAULT 0"` HasActivityUser int `xorm:"NOT NULL DEFAULT 0"`
TotalUser int `xorm:"NOT NULL DEFAULT 0"` TotalUser int `xorm:"NOT NULL DEFAULT 0"`
TotalRegistUser int `xorm:"-"`
TotalActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"` TotalActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
TotalHasActivityUser int `xorm:"NOT NULL DEFAULT 0"` TotalHasActivityUser int `xorm:"NOT NULL DEFAULT 0"`
DisplayDate string `xorm:"-"` DisplayDate string `xorm:"-"`


+ 15
- 15
routers/repo/user_data_analysis.go View File

@@ -254,8 +254,6 @@ func queryUserDataPage(ctx *context.Context, tableName string, queryObj interfac
func queryMetrics(ctx *context.Context, tableName string) { func queryMetrics(ctx *context.Context, tableName string) {
startDate := ctx.Query("startDate") startDate := ctx.Query("startDate")
endDate := ctx.Query("endDate") endDate := ctx.Query("endDate")
startTime, _ := time.ParseInLocation("2006-01-02", startDate, time.Local)
endTime, _ := time.ParseInLocation("2006-01-02", endDate, time.Local)


page := ctx.QueryInt("page") page := ctx.QueryInt("page")
if page <= 0 { if page <= 0 {
@@ -267,6 +265,19 @@ func queryMetrics(ctx *context.Context, tableName string) {
} }
IsReturnFile := ctx.QueryBool("IsReturnFile") IsReturnFile := ctx.QueryBool("IsReturnFile")


var count int64
result := make([]models.UserMetrics, 0)
if tableName == "public.user_business_analysis_current_year" {
result = models.QueryMetricsForYear()
count = int64(len(result))
} else if tableName == "public.user_business_analysis_all" {
result = models.QueryMetricsForAll()
count = int64(len(result))
} else {
startTime, _ := time.ParseInLocation("2006-01-02", startDate, time.Local)
endTime, _ := time.ParseInLocation("2006-01-02", endDate, time.Local)
result, count = models.QueryMetricsPage(startTime.Unix(), endTime.Unix(), page, pageSize)
}
if IsReturnFile { if IsReturnFile {
//writer exec file. //writer exec file.
xlsx := excelize.NewFile() xlsx := excelize.NewFile()
@@ -278,10 +289,9 @@ func queryMetrics(ctx *context.Context, tableName string) {
//设置单元格的值 //设置单元格的值
xlsx.SetCellValue(sheetName, k, v) xlsx.SetCellValue(sheetName, k, v)
} }
userMetricResult, count := models.QueryMetrics(startTime.Unix(), endTime.Unix())
row := 1 row := 1
log.Info("return count=" + fmt.Sprint(count)) log.Info("return count=" + fmt.Sprint(count))
for _, userRecord := range userMetricResult {
for _, userRecord := range result {
row++ row++
writeUserMetricsExcel(row, xlsx, sheetName, userRecord) writeUserMetricsExcel(row, xlsx, sheetName, userRecord)
} }
@@ -294,22 +304,12 @@ func queryMetrics(ctx *context.Context, tableName string) {
log.Info("writer exel error." + err.Error()) log.Info("writer exel error." + err.Error())
} }
} else { } else {
var count int64
result := make([]models.UserMetrics, 0)
if tableName == "public.user_business_analysis_current_year" {
result = models.QueryMetricsForYear()
count = int64(len(result))
} else if tableName == "public.user_business_analysis_all" {
result = models.QueryMetricsForAll()
count = int64(len(result))
} else {
result, count = models.QueryMetricsPage(startTime.Unix(), endTime.Unix(), page, pageSize)
}
mapInterface := make(map[string]interface{}) mapInterface := make(map[string]interface{})
mapInterface["data"] = result mapInterface["data"] = result
mapInterface["count"] = count mapInterface["count"] = count
ctx.JSON(http.StatusOK, mapInterface) ctx.JSON(http.StatusOK, mapInterface)
} }

} }


func QueryRankingList(ctx *context.Context) { func QueryRankingList(ctx *context.Context) {


Loading…
Cancel
Save