From db12cd0c3e959323203879c1d40f8f0ddfccc2bf Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Thu, 16 Apr 2020 16:12:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0rds=20zone=20name?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/apis/compute/dbinstance.go | 7 +++++++ pkg/compute/models/dbinstances.go | 34 ++++++++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/pkg/apis/compute/dbinstance.go b/pkg/apis/compute/dbinstance.go index 90af8f482e..43347db75a 100644 --- a/pkg/apis/compute/dbinstance.go +++ b/pkg/apis/compute/dbinstance.go @@ -284,6 +284,13 @@ type DBInstanceDetails struct { // IP子网名称 // example: test-network Network string `json:"network"` + + // Zone1名称 + Zone1Name string `json:"zone1_name"` + // Zone2名称 + Zone2Name string `json:"zone2_name"` + // Zone3名称 + Zone3Name string `json:"zone3_name"` } type DBInstanceResourceInfoBase struct { diff --git a/pkg/compute/models/dbinstances.go b/pkg/compute/models/dbinstances.go index 204c490c52..212d332358 100644 --- a/pkg/compute/models/dbinstances.go +++ b/pkg/compute/models/dbinstances.go @@ -139,7 +139,7 @@ type SDBInstance struct { func (manager *SDBInstanceManager) GetContextManagers() [][]db.IModelManager { return [][]db.IModelManager{ - {VpcManager}, + {CloudregionManager}, } } @@ -481,14 +481,21 @@ func (manager *SDBInstanceManager) FetchCustomizeColumns( regRows := manager.SCloudregionResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList) vpcIds := make([]string, len(rows)) + zone1Ids := make([]string, len(rows)) + zone2Ids := make([]string, len(rows)) + zone3Ids := make([]string, len(rows)) for i := range rows { rows[i] = api.DBInstanceDetails{ VirtualResourceDetails: virtRows[i], ManagedResourceInfo: manRows[i], CloudregionResourceInfo: regRows[i], } - rows[i] = objs[i].(*SDBInstance).getMoreDetails(rows[i]) - vpcIds[i] = objs[i].(*SDBInstance).VpcId + instance := objs[i].(*SDBInstance) + rows[i] = instance.getMoreDetails(rows[i]) + vpcIds[i] = instance.VpcId + zone1Ids[i] = instance.Zone1 + zone2Ids[i] = instance.Zone2 + zone3Ids[i] = instance.Zone3 } vpcs := make(map[string]SVpc) @@ -506,6 +513,27 @@ func (manager *SDBInstanceManager) FetchCustomizeColumns( } } + zone1, err := db.FetchIdNameMap2(ZoneManager, zone1Ids) + if err != nil { + return rows + } + + zone2, err := db.FetchIdNameMap2(ZoneManager, zone2Ids) + if err != nil { + return rows + } + + zone3, err := db.FetchIdNameMap2(ZoneManager, zone3Ids) + if err != nil { + return rows + } + + for i := range rows { + rows[i].Zone1Name = zone1[zone1Ids[i]] + rows[i].Zone2Name = zone2[zone2Ids[i]] + rows[i].Zone3Name = zone3[zone3Ids[i]] + } + return rows }