From 7f08370774f5e64c1b7117ed6fdfc37b6067b981 Mon Sep 17 00:00:00 2001 From: liuzx Date: Mon, 14 Nov 2022 14:58:44 +0800 Subject: [PATCH] fix-kanban --- models/cloudbrain_static.go | 9 +++++++++ routers/api/v1/repo/cloudbrain_dashboard.go | 2 +- routers/repo/cloudbrain_statistic.go | 8 +++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/models/cloudbrain_static.go b/models/cloudbrain_static.go index 21b9ceeb9..e58e03e84 100644 --- a/models/cloudbrain_static.go +++ b/models/cloudbrain_static.go @@ -375,3 +375,12 @@ func GetDurationRecordBeginTime() ([]*CloudbrainDurationStatistic, error) { } return CloudbrainDurationStatistics, nil } +func DeleteCloudbrainDurationStatistic() error { + sess := xStatistic.NewSession() + defer sess.Close() + if _, err := sess.Exec("TRUNCATE TABLE cloudbrain_duration_statistic"); err != nil { + log.Info("TRUNCATE cloudbrain_duration_statistic error.") + return err + } + return nil +} \ No newline at end of file diff --git a/routers/api/v1/repo/cloudbrain_dashboard.go b/routers/api/v1/repo/cloudbrain_dashboard.go index f1ae2b9ee..900b4da12 100755 --- a/routers/api/v1/repo/cloudbrain_dashboard.go +++ b/routers/api/v1/repo/cloudbrain_dashboard.go @@ -1744,7 +1744,7 @@ func getDurationStatistic(beginTime time.Time, endTime time.Time) (models.Durati for _, v := range OpenITotalDuration { totalCanUse += float64(v) } - for _, v := range OpenIUsageRate { + for _, v := range OpenIUsageDuration { totalUse += float64(v) } if totalCanUse == 0 || totalUse == 0 { diff --git a/routers/repo/cloudbrain_statistic.go b/routers/repo/cloudbrain_statistic.go index d7969e29a..edf9bda37 100644 --- a/routers/repo/cloudbrain_statistic.go +++ b/routers/repo/cloudbrain_statistic.go @@ -70,7 +70,11 @@ func summaryDurationStat(statisticTime time.Time) int64 { } cardsTotalDurationMap := make(map[string]int) for _, resourceQueue := range resourceQueues { - cardsTotalDurationMap[resourceQueue.Cluster+"/"+resourceQueue.AiCenterCode+"/"+resourceQueue.AccCardType+"/"+resourceQueue.ComputeResource] = resourceQueue.CardsTotalNum * 1 * 60 * 60 + if _, ok := cardsTotalDurationMap[resourceQueue.Cluster+"/"+resourceQueue.AiCenterCode+"/"+resourceQueue.AccCardType+"/"+resourceQueue.ComputeResource]; !ok { + cardsTotalDurationMap[resourceQueue.Cluster+"/"+resourceQueue.AiCenterCode+"/"+resourceQueue.AccCardType+"/"+resourceQueue.ComputeResource] = resourceQueue.CardsTotalNum * 1 * 60 * 60 + } else { + cardsTotalDurationMap[resourceQueue.Cluster+"/"+resourceQueue.AiCenterCode+"/"+resourceQueue.AccCardType+"/"+resourceQueue.ComputeResource] += resourceQueue.CardsTotalNum * 1 * 60 * 60 + } } for centerCode, CardTypes := range cloudBrainCenterCodeAndCardTypeInfo { @@ -224,9 +228,11 @@ func getcloudBrainCenterCodeAndCardTypeInfo(ciTasks []*models.CloudbrainInfo, be } func CloudbrainUpdateHistoryData(ctx *context.Context) { + err := models.DeleteCloudbrainDurationStatistic() count := UpdateDurationStatisticHistoryData() ctx.JSON(http.StatusOK, map[string]interface{}{ "message": 0, "count": count, + "err": err, }) }