|
|
|
@@ -315,7 +315,7 @@ func GetJobRunningCount() (int64, error) { |
|
|
|
return x.SQL(countSql).Count() |
|
|
|
} |
|
|
|
|
|
|
|
func getDateAndHourPeriodCount(dateBeginTime string, dateEndTime string, hourBeginTime string, hourEndTime string) (int64, error) { |
|
|
|
func getCreatePeriodCount(dateBeginTime string, dateEndTime string, hourBeginTime string, hourEndTime string) (int64, error) { |
|
|
|
countSql := "SELECT count(*) FROM " + |
|
|
|
"public.cloudbrain where to_char(to_timestamp(created_unix), 'YYYY-MM-DD') >= '" + dateBeginTime + |
|
|
|
"' and to_char(to_timestamp(created_unix), 'YYYY-MM-DD') < '" + dateEndTime + |
|
|
|
@@ -324,19 +324,47 @@ func getDateAndHourPeriodCount(dateBeginTime string, dateEndTime string, hourBeg |
|
|
|
return x.SQL(countSql).Count() |
|
|
|
} |
|
|
|
|
|
|
|
func GetHourPeriodCount(dateBeginTime string, dateEndTime string) (map[int]int64, error) { |
|
|
|
//SELECT * FROM xxx WHERE NOT ((endTime < hourBeginTime) OR (startTime > hourEndTime)) |
|
|
|
func getRunPeriodCount(dateBeginTime string, dateEndTime string, hourBeginTime string, hourEndTime string) (int64, error) { |
|
|
|
countSql := "SELECT count(*) FROM " + |
|
|
|
"public.cloudbrain where not ((to_char(to_timestamp(start_time), ' HH24:MI:SS') > '" + hourEndTime + |
|
|
|
"') or (to_char(to_timestamp(end_time), 'HH24:MI:SS') < '" + hourBeginTime + "'))" + |
|
|
|
" and (to_char(to_timestamp(start_time), 'YYYY-MM-DD') >= '" + dateBeginTime + |
|
|
|
"' and to_char(to_timestamp(start_time), 'YYYY-MM-DD') < '" + dateEndTime + "')" |
|
|
|
return x.SQL(countSql).Count() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
func GetCreateHourPeriodCount(dateBeginTime string, dateEndTime string) (map[string]interface{}, error) { |
|
|
|
//0 to 23 for each hour, |
|
|
|
dateHourMap := make(map[string]interface{}) |
|
|
|
var slice = []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23} |
|
|
|
for key, value := range slice { |
|
|
|
hourBeginHour := strconv.Itoa(value) + ":00:00" |
|
|
|
hourEndHour := strconv.Itoa(value+1) + ":00:00" |
|
|
|
cout, err := getCreatePeriodCount(dateBeginTime, dateEndTime, hourBeginHour, hourEndHour) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getCreatePeriodCount.", err) |
|
|
|
return nil, nil |
|
|
|
} |
|
|
|
dateHourMap[strconv.Itoa(key)] = cout |
|
|
|
} |
|
|
|
return dateHourMap, nil |
|
|
|
} |
|
|
|
|
|
|
|
func GetRunHourPeriodCount(dateBeginTime string, dateEndTime string) (map[string]interface{}, error) { |
|
|
|
//0 to 23 for each hour, |
|
|
|
dateHourMap := make(map[int]int64) |
|
|
|
dateHourMap := make(map[string]interface{}) |
|
|
|
var slice = []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23} |
|
|
|
for key, value := range slice { |
|
|
|
hourBeginHour := strconv.Itoa(value) + ":00:00" |
|
|
|
hourEndHour := strconv.Itoa(value+1) + ":00:00" |
|
|
|
cout, err := getDateAndHourPeriodCount(dateBeginTime, dateEndTime, hourBeginHour, hourEndHour) |
|
|
|
cout, err := getRunPeriodCount(dateBeginTime, dateEndTime, hourBeginHour, hourEndHour) |
|
|
|
if err != nil { |
|
|
|
log.Error("Can not query getDateAndHourPeriodCount.", err) |
|
|
|
log.Error("Can not query getRunPeriodCount.", err) |
|
|
|
return nil, nil |
|
|
|
} |
|
|
|
dateHourMap[key] = cout |
|
|
|
dateHourMap[strconv.Itoa(key)] = cout |
|
|
|
} |
|
|
|
return dateHourMap, nil |
|
|
|
} |