|
|
|
@@ -14,11 +14,6 @@ import ( |
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
) |
|
|
|
|
|
|
|
type TimeCloudbrainsNum struct { |
|
|
|
TimeCloudbrainNum []DateCloudbrainNum `json:"dateCloudbrainNum"` |
|
|
|
TotalCount int `json:"totalCount"` |
|
|
|
TimeCloudbrainInfo []DateCloudbrainInfo `json:"timeCloudbrainInfo"` |
|
|
|
} |
|
|
|
type DateCloudbrainNum struct { |
|
|
|
Date string `json:"date"` |
|
|
|
CloudOneJobTypeRes map[string]int `json:"cloudOneJobTypeRes"` |
|
|
|
@@ -144,8 +139,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
var endTime time.Time |
|
|
|
var endTimeTemp time.Time |
|
|
|
dateCloudbrainNum := make([]DateCloudbrainNum, 0) |
|
|
|
dayCloudbrainInfo := make([]DateCloudbrainInfo, 0) |
|
|
|
var count int |
|
|
|
if queryType != "" { |
|
|
|
if queryType == "all" { |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
@@ -158,12 +151,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainInfo_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "today" { |
|
|
|
beginTime = now.AddDate(0, 0, 0) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
@@ -175,6 +162,153 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "yesterday" { |
|
|
|
beginTime = now.AddDate(0, 0, -1) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "last_7day" { |
|
|
|
beginTime = now.AddDate(0, 0, -6) //begin from monday |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTimeTemp = time.Date(endTimeTemp.Year(), endTimeTemp.Month(), endTimeTemp.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "last_30day" { |
|
|
|
beginTime = now.AddDate(0, 0, -29) //begin from monday |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "current_month" { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), endTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "current_year" { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), 1, 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "last_month" { |
|
|
|
|
|
|
|
lastMonthTime := now.AddDate(0, -1, 0) |
|
|
|
beginTime = time.Date(lastMonthTime.Year(), lastMonthTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
if beginTimeStr == "" || endTimeStr == "" { |
|
|
|
//如果查询类型和开始时间结束时间都未设置,按queryType=all处理 |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
endTimeTemp := time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else { |
|
|
|
beginTime, err = time.ParseInLocation("2006-01-02", beginTimeStr, time.Local) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not ParseInLocation.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("ParseInLocation_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
endTime, err = time.ParseInLocation("2006-01-02", endTimeStr, time.Local) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not ParseInLocation.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("ParseInLocation_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
if endTime.After(time.Now()) { |
|
|
|
endTime = time.Now() |
|
|
|
} |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
ctx.JSON(http.StatusOK, map[string]interface{}{ |
|
|
|
"timeCloudbrainNum": dateCloudbrainNum, |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
func GetAllCloudbrainsTrendDetail(ctx *context.Context) { |
|
|
|
recordCloudbrain, err := models.GetRecordBeginTime() |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not get recordCloudbrain", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("repo.record_begintime_get_err")) |
|
|
|
return |
|
|
|
} |
|
|
|
brainRecordBeginTime := recordCloudbrain[0].Cloudbrain.CreatedUnix.AsTime() |
|
|
|
|
|
|
|
queryType := ctx.QueryTrim("type") |
|
|
|
now := time.Now() |
|
|
|
|
|
|
|
beginTimeStr := ctx.QueryTrim("beginTime") |
|
|
|
endTimeStr := ctx.QueryTrim("endTime") |
|
|
|
var beginTime time.Time |
|
|
|
var endTime time.Time |
|
|
|
var endTimeTemp time.Time |
|
|
|
dayCloudbrainInfo := make([]DateCloudbrainInfo, 0) |
|
|
|
var count int |
|
|
|
if queryType != "" { |
|
|
|
if queryType == "all" { |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainInfo_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
} else if queryType == "today" { |
|
|
|
beginTime = now.AddDate(0, 0, 0) |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = now |
|
|
|
endTime = now |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -187,12 +321,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -206,12 +334,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
endTimeTemp = time.Date(endTimeTemp.Year(), endTimeTemp.Month(), endTimeTemp.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -223,12 +345,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
beginTime = time.Date(beginTime.Year(), beginTime.Month(), beginTime.Day(), 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -239,12 +355,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), endTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -256,12 +366,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
endTime = now |
|
|
|
beginTime = time.Date(endTime.Year(), 1, 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -275,12 +379,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
beginTime = time.Date(lastMonthTime.Year(), lastMonthTime.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTime = time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -296,13 +394,7 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
beginTime = brainRecordBeginTime |
|
|
|
endTime = now |
|
|
|
endTimeTemp = beginTime.AddDate(0, 1, 0) |
|
|
|
endTimeTemp := time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
dateCloudbrainNum, err = getMonthCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getMonthCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getMonthCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
// endTimeTemp := time.Date(endTimeTemp.Year(), endTimeTemp.Month(), 1, 0, 0, 0, 0, now.Location()) |
|
|
|
dayCloudbrainInfo, count, err = getMonthCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -326,12 +418,6 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
endTime = time.Now() |
|
|
|
} |
|
|
|
endTimeTemp = beginTime.AddDate(0, 0, 1) |
|
|
|
dateCloudbrainNum, err = getDayCloudbrainNum(beginTime, endTimeTemp, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainNum.", err) |
|
|
|
ctx.Error(http.StatusBadRequest, ctx.Tr("getDayCloudbrainNum_get_error")) |
|
|
|
return |
|
|
|
} |
|
|
|
dayCloudbrainInfo, count, err = getDayCloudbrainInfo(beginTime, endTime) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDayCloudbrainInfo.", err) |
|
|
|
@@ -352,13 +438,10 @@ func GetAllCloudbrainsTrend(ctx *context.Context) { |
|
|
|
} |
|
|
|
pageDateCloudbrainInfo := getPageDateCloudbrainInfo(dayCloudbrainInfo, page, pagesize) |
|
|
|
|
|
|
|
cloudbrainsPeriodData := TimeCloudbrainsNum{ |
|
|
|
TimeCloudbrainNum: dateCloudbrainNum, |
|
|
|
TotalCount: count, |
|
|
|
TimeCloudbrainInfo: pageDateCloudbrainInfo, |
|
|
|
} |
|
|
|
|
|
|
|
ctx.JSON(http.StatusOK, cloudbrainsPeriodData) |
|
|
|
ctx.JSON(http.StatusOK, map[string]interface{}{ |
|
|
|
"totalCount": count, |
|
|
|
"timeCloudbrainInfo": pageDateCloudbrainInfo, |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
func getPageDateCloudbrainInfo(dateCloudbrainInfo []DateCloudbrainInfo, page int, pagesize int) []DateCloudbrainInfo { |
|
|
|
|