Browse Source

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

pull/2093/head
wangjr 3 years ago
parent
commit
376d6a95f6
3 changed files with 50 additions and 28 deletions
  1. +2
    -3
      models/user_business_analysis.go
  2. +14
    -13
      models/user_business_struct.go
  3. +34
    -12
      routers/repo/user_data_analysis.go

+ 2
- 3
models/user_business_analysis.go View File

@@ -269,6 +269,7 @@ func postDeal(userMetricsList []UserMetrics) {
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 userMetrics.TotalRegistUser = userMetrics.ActivateRegistUser + userMetrics.NotActivateRegistUser
userMetrics.TotalNotActivateRegistUser = userMetrics.TotalUser - userMetrics.TotalActivateRegistUser
} }
} }


@@ -304,6 +305,7 @@ func makeResultForMonth(allUserInfo []UserMetrics, count int) []UserMetrics {
monthUserMetrics.ActivateRegistUser = userMetrics.ActivateRegistUser monthUserMetrics.ActivateRegistUser = userMetrics.ActivateRegistUser
monthUserMetrics.NotActivateRegistUser = userMetrics.NotActivateRegistUser monthUserMetrics.NotActivateRegistUser = userMetrics.NotActivateRegistUser
monthUserMetrics.TotalUser = userMetrics.TotalUser monthUserMetrics.TotalUser = userMetrics.TotalUser
monthUserMetrics.TotalNotActivateRegistUser = userMetrics.TotalUser - userMetrics.TotalActivateRegistUser
monthUserMetrics.TotalActivateRegistUser = userMetrics.TotalActivateRegistUser monthUserMetrics.TotalActivateRegistUser = userMetrics.TotalActivateRegistUser
monthUserMetrics.TotalHasActivityUser = userMetrics.TotalHasActivityUser monthUserMetrics.TotalHasActivityUser = userMetrics.TotalHasActivityUser
monthUserMetrics.HasActivityUser = userMetrics.HasActivityUser monthUserMetrics.HasActivityUser = userMetrics.HasActivityUser
@@ -314,9 +316,6 @@ func makeResultForMonth(allUserInfo []UserMetrics, count int) []UserMetrics {
value := monthMap[month] value := monthMap[month]
value.ActivateRegistUser += userMetrics.ActivateRegistUser value.ActivateRegistUser += userMetrics.ActivateRegistUser
value.NotActivateRegistUser += userMetrics.NotActivateRegistUser value.NotActivateRegistUser += userMetrics.NotActivateRegistUser
value.TotalUser += userMetrics.TotalUser
value.TotalActivateRegistUser += userMetrics.TotalActivateRegistUser
value.TotalHasActivityUser += userMetrics.TotalHasActivityUser
value.HasActivityUser += userMetrics.HasActivityUser value.HasActivityUser += userMetrics.HasActivityUser
value.TotalRegistUser += userMetrics.TotalRegistUser value.TotalRegistUser += userMetrics.TotalRegistUser
value.DaysForMonth += 1 value.DaysForMonth += 1


+ 14
- 13
models/user_business_struct.go View File

@@ -400,17 +400,18 @@ type UserAnalysisPara struct {
} }


type UserMetrics struct { type UserMetrics struct {
CountDate int64 `xorm:"pk"`
ActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
NotActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
ActivateIndex float64 `xorm:"NOT NULL DEFAULT 0"`
RegistActivityUser int `xorm:"NOT NULL DEFAULT 0"`
HasActivityUser int `xorm:"NOT NULL DEFAULT 0"`
TotalUser int `xorm:"NOT NULL DEFAULT 0"`
TotalRegistUser int `xorm:"-"`
TotalActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
TotalHasActivityUser int `xorm:"NOT NULL DEFAULT 0"`
DisplayDate string `xorm:"-"`
DaysForMonth int `xorm:"NOT NULL DEFAULT 0"`
HasActivityUserJson string `xorm:"text NULL"`
CountDate int64 `xorm:"pk"`
ActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
NotActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
ActivateIndex float64 `xorm:"NOT NULL DEFAULT 0"`
RegistActivityUser int `xorm:"NOT NULL DEFAULT 0"`
HasActivityUser int `xorm:"NOT NULL DEFAULT 0"`
TotalUser int `xorm:"NOT NULL DEFAULT 0"`
TotalRegistUser int `xorm:"-"`
TotalActivateRegistUser int `xorm:"NOT NULL DEFAULT 0"`
TotalNotActivateRegistUser int `xorm:"-"`
TotalHasActivityUser int `xorm:"NOT NULL DEFAULT 0"`
DisplayDate string `xorm:"-"`
DaysForMonth int `xorm:"NOT NULL DEFAULT 0"`
HasActivityUserJson string `xorm:"text NULL"`
} }

+ 34
- 12
routers/repo/user_data_analysis.go View File

@@ -251,9 +251,7 @@ func queryUserDataPage(ctx *context.Context, tableName string, queryObj interfac
} }
} }


func queryMetrics(ctx *context.Context, tableName string) {
startDate := ctx.Query("startDate")
endDate := ctx.Query("endDate")
func queryMetrics(ctx *context.Context, tableName string, startTime time.Time, endTime time.Time) {


page := ctx.QueryInt("page") page := ctx.QueryInt("page")
if page <= 0 { if page <= 0 {
@@ -274,8 +272,6 @@ func queryMetrics(ctx *context.Context, tableName string) {
result = models.QueryMetricsForAll() result = models.QueryMetricsForAll()
count = int64(len(result)) count = int64(len(result))
} else { } 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) result, count = models.QueryMetricsPage(startTime.Unix(), endTime.Unix(), page, pageSize)
} }
if IsReturnFile { if IsReturnFile {
@@ -325,43 +321,69 @@ func QueryRankingList(ctx *context.Context) {
} }


func QueryUserMetricsCurrentMonth(ctx *context.Context) { func QueryUserMetricsCurrentMonth(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_current_month")
currentTimeNow := time.Now()
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location())
pageStartTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), 1, 0, 0, 0, 0, currentTimeNow.Location())
queryMetrics(ctx, "public.user_business_analysis_current_month", pageStartTime, pageEndTime)
} }
func QueryUserStaticCurrentMonth(ctx *context.Context) { func QueryUserStaticCurrentMonth(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_current_month", new(models.UserBusinessAnalysisCurrentMonth)) queryUserDataPage(ctx, "public.user_business_analysis_current_month", new(models.UserBusinessAnalysisCurrentMonth))
} }
func QueryUserMetricsCurrentWeek(ctx *context.Context) { func QueryUserMetricsCurrentWeek(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_current_week")
currentTimeNow := time.Now()
offset := int(time.Monday - currentTimeNow.Weekday())
if offset > 0 {
offset = -6
}
pageStartTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, offset)
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location())
queryMetrics(ctx, "public.user_business_analysis_current_week", pageStartTime, pageEndTime)
} }
func QueryUserStaticCurrentWeek(ctx *context.Context) { func QueryUserStaticCurrentWeek(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_current_week", new(models.UserBusinessAnalysisCurrentWeek)) queryUserDataPage(ctx, "public.user_business_analysis_current_week", new(models.UserBusinessAnalysisCurrentWeek))
} }
func QueryUserMetricsCurrentYear(ctx *context.Context) { func QueryUserMetricsCurrentYear(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_current_year")
currentTimeNow := time.Now()
pageStartTime := time.Date(currentTimeNow.Year(), 1, 1, 0, 0, 0, 0, currentTimeNow.Location())
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location())
queryMetrics(ctx, "public.user_business_analysis_current_year", pageStartTime, pageEndTime)
} }
func QueryUserStaticCurrentYear(ctx *context.Context) { func QueryUserStaticCurrentYear(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_current_year", new(models.UserBusinessAnalysisCurrentYear)) queryUserDataPage(ctx, "public.user_business_analysis_current_year", new(models.UserBusinessAnalysisCurrentYear))
} }
func QueryUserMetricsLast30Day(ctx *context.Context) { func QueryUserMetricsLast30Day(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_last30_day")
currentTimeNow := time.Now()
pageStartTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, -30)
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location())
queryMetrics(ctx, "public.user_business_analysis_last30_day", pageStartTime, pageEndTime)
} }
func QueryUserStaticLast30Day(ctx *context.Context) { func QueryUserStaticLast30Day(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_last30_day", new(models.UserBusinessAnalysisLast30Day)) queryUserDataPage(ctx, "public.user_business_analysis_last30_day", new(models.UserBusinessAnalysisLast30Day))
} }
func QueryUserMetricsLastMonth(ctx *context.Context) { func QueryUserMetricsLastMonth(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_last_month")
currentTimeNow := time.Now()
thisMonth := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), 1, 0, 0, 0, 0, currentTimeNow.Location())
pageStartTime := thisMonth.AddDate(0, -1, 0)
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), 1, 23, 59, 59, 0, currentTimeNow.Location()).AddDate(0, 0, -1)
queryMetrics(ctx, "public.user_business_analysis_last_month", pageStartTime, pageEndTime)
} }
func QueryUserStaticLastMonth(ctx *context.Context) { func QueryUserStaticLastMonth(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_last_month", new(models.UserBusinessAnalysisLastMonth)) queryUserDataPage(ctx, "public.user_business_analysis_last_month", new(models.UserBusinessAnalysisLastMonth))
} }
func QueryUserMetricsYesterday(ctx *context.Context) { func QueryUserMetricsYesterday(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_yesterday")
currentTimeNow := time.Now()
pageStartTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, -1)
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location()).AddDate(0, 0, -1)
queryMetrics(ctx, "public.user_business_analysis_yesterday", pageStartTime, pageEndTime)
} }
func QueryUserStaticYesterday(ctx *context.Context) { func QueryUserStaticYesterday(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_yesterday", new(models.UserBusinessAnalysisYesterday)) queryUserDataPage(ctx, "public.user_business_analysis_yesterday", new(models.UserBusinessAnalysisYesterday))
} }
func QueryUserMetricsAll(ctx *context.Context) { func QueryUserMetricsAll(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_all")
currentTimeNow := time.Now()
pageStartTime := time.Date(2022, 4, 5, 0, 0, 0, 0, currentTimeNow.Location())
pageEndTime := time.Date(currentTimeNow.Year(), currentTimeNow.Month(), currentTimeNow.Day(), 23, 59, 59, 0, currentTimeNow.Location())
queryMetrics(ctx, "public.user_business_analysis_all", pageStartTime, pageEndTime)
} }
func QueryUserStaticAll(ctx *context.Context) { func QueryUserStaticAll(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_all", new(models.UserBusinessAnalysisAll)) queryUserDataPage(ctx, "public.user_business_analysis_all", new(models.UserBusinessAnalysisAll))


Loading…
Cancel
Save