Browse Source

提交代码。

Signed-off-by: zouap <zouap@pcl.ac.cn>
tags/v1.22.5.1^2
zouap 3 years ago
parent
commit
35801300da
3 changed files with 47 additions and 3 deletions
  1. +4
    -0
      models/user_business_analysis.go
  2. +9
    -1
      routers/api/v1/api.go
  3. +34
    -2
      routers/repo/user_data_analysis.go

+ 4
- 0
models/user_business_analysis.go View File

@@ -259,6 +259,10 @@ func QueryMetrics(start int64, end int64) ([]UserMetrics, int) {
Find(&userMetricsList); err != nil {
return nil, 0
}
for _, userMetrics := range userMetricsList {
dateTime := time.Unix(userMetrics.CountDate, 0)
userMetrics.DisplayDate = dateTime.Format("2006-01-02")
}
return userMetricsList, len(userMetricsList)
}



+ 9
- 1
routers/api/v1/api.go View File

@@ -547,7 +547,15 @@ func RegisterRoutes(m *macaron.Macaron) {
})
}, operationReq)

m.Get("/query_user_metrics", operationReq, repo_ext.QueryMetrics)
m.Get("/query_metrics_current_month", operationReq, repo_ext.QueryUserMetricsCurrentMonth)
m.Get("/query_metrics_current_week", operationReq, repo_ext.QueryUserMetricsCurrentWeek)
m.Get("/query_metrics_current_year", operationReq, repo_ext.QueryUserMetricsCurrentYear)
m.Get("/query_metrics_last30_day", operationReq, repo_ext.QueryUserMetricsLast30Day)
m.Get("/query_metrics_last_month", operationReq, repo_ext.QueryUserMetricsLastMonth)
m.Get("/query_metrics_yesterday", operationReq, repo_ext.QueryUserMetricsYesterday)
m.Get("/query_metrics_all", operationReq, repo_ext.QueryUserMetricsAll)
m.Get("/query_user_metrics_page", operationReq, repo_ext.QueryUserMetricDataPage)

m.Get("/query_user_rank_list", operationReq, repo_ext.QueryRankingList)
m.Get("/query_user_static_page", operationReq, repo_ext.QueryUserStaticDataPage)
m.Get("/query_user_current_month", operationReq, repo_ext.QueryUserStaticCurrentMonth)


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

@@ -294,7 +294,17 @@ func queryMetrics(ctx *context.Context, tableName string) {
log.Info("writer exel error." + err.Error())
}
} else {
result, count := models.QueryMetricsPage(startTime.Unix(), endTime.Unix(), page, pageSize)
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["data"] = result
mapInterface["count"] = count
@@ -350,13 +360,35 @@ func QueryUserMetricsYesterday(ctx *context.Context) {
func QueryUserStaticYesterday(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_yesterday", new(models.UserBusinessAnalysisYesterday))
}
func QueryUserMetricsStaticAll(ctx *context.Context) {
func QueryUserMetricsAll(ctx *context.Context) {
queryMetrics(ctx, "public.user_business_analysis_all")
}
func QueryUserStaticAll(ctx *context.Context) {
queryUserDataPage(ctx, "public.user_business_analysis_all", new(models.UserBusinessAnalysisAll))
}

func QueryUserMetricDataPage(ctx *context.Context) {
startDate := ctx.Query("startDate")
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")
if page <= 0 {
page = 1
}
pageSize := ctx.QueryInt("pageSize")
if pageSize <= 0 {
pageSize = setting.UI.IssuePagingNum
}
result, count := models.QueryMetricsPage(startTime.Unix(), endTime.Unix(), page, pageSize)

mapInterface := make(map[string]interface{})
mapInterface["data"] = result
mapInterface["count"] = count
ctx.JSON(http.StatusOK, mapInterface)
}

func QueryUserStaticDataPage(ctx *context.Context) {
startDate := ctx.Query("startDate")
endDate := ctx.Query("endDate")


Loading…
Cancel
Save