diff --git a/configmanage/server/controller/repo.go b/configmanage/server/controller/repo.go index 2f69f6fa4ac295d1ed7ba6fb3b035bcef5c8be61..88370a43047de86fd6247dd5e5a620a304aaa964 100644 --- a/configmanage/server/controller/repo.go +++ b/configmanage/server/controller/repo.go @@ -12,7 +12,7 @@ func AddRepoHandler(c *gin.Context) { //TODO:query 类型需要转变 query := &struct { Description string `json:"description"` - BatchIds []uint `json:"batchids"` + BatchIds []int `json:"batchids"` DepartIds []int `json:"departids"` Nodes []string `json:"uuids"` Name string `json:"name"` diff --git a/configmanage/server/internal/confignode.go b/configmanage/server/internal/confignode.go index 6466019d6becb9adef3b2fedee66555ff07a4a40..eb7d7ffc045a4fd308b28a1e093a021870f92970 100644 --- a/configmanage/server/internal/confignode.go +++ b/configmanage/server/internal/confignode.go @@ -3,17 +3,49 @@ package internal import "openeuler.org/PilotGo/configmanage-plugin/db" type ConfigNode struct { + ID int `gorm:"primary_key;AUTO_INCREMENT"` + ConfigInfoUUID string `json:"config_info_uuid"` + NodeId []string `json:"node_id"` //机器uuid +} + +type ConfigBatch struct { ID int `gorm:"primary_key;AUTO_INCREMENT"` ConfigInfoUUID string `json:"config_info_uuid"` - NodeId string `json:"node_id"` //机器信息 + BatchIDs []int `json:"batchids"` +} + +type ConfigDepart struct { + ID int `gorm:"primary_key;AUTO_INCREMENT"` + ConfigInfoUUID string `json:"config_info_uuid"` + DepartIDs []int `json:"departids"` } func (cn *ConfigNode) Add() error { return db.MySQL().Save(&cn).Error } -func GetConfigNodesByUUID(uuid string) ([]ConfigNode, error) { - var nodes []ConfigNode +func (cb *ConfigBatch) Add() error { + return db.MySQL().Save(&cb).Error +} + +func (cd *ConfigDepart) Add() error { + return db.MySQL().Save(&cd).Error +} + +func GetConfigNodesByUUID(uuid string) (ConfigNode, error) { + var nodes ConfigNode + err := db.MySQL().Where("config_info_uuid=?", uuid).Find(&nodes).Error + return nodes, err +} + +func GetConfigBatchByUUID(uuid string) (ConfigBatch, error) { + var nodes ConfigBatch + err := db.MySQL().Where("config_info_uuid=?", uuid).Find(&nodes).Error + return nodes, err +} + +func GetConfigDepartByUUID(uuid string) (ConfigDepart, error) { + var nodes ConfigDepart err := db.MySQL().Where("config_info_uuid=?", uuid).Find(&nodes).Error return nodes, err } diff --git a/configmanage/server/main.go b/configmanage/server/main.go index d3738a9e2c1daf684d64b8d5dd518567d09c63c3..2803d395b900e6d0fda410b80603e0a6272310b9 100644 --- a/configmanage/server/main.go +++ b/configmanage/server/main.go @@ -42,6 +42,8 @@ func main() { db.MySQL().AutoMigrate(&service.ConfigInfo{}) db.MySQL().AutoMigrate(&service.ConfigFile{}) db.MySQL().AutoMigrate(&service.ConfigNode{}) + db.MySQL().AutoMigrate(&service.ConfigDepart{}) + db.MySQL().AutoMigrate(&service.ConfigBatch{}) server := router.InitRouter() global.GlobalClient = client.DefaultClient(global.Init(config.Config().ConfigPlugin)) diff --git a/configmanage/server/service/configinstance.go b/configmanage/server/service/configinstance.go index 106aa9dedfd8eccd2e2a626a70d3520d780a80e7..5feef20589c79fdeff114bab756d9a7caefe8759 100644 --- a/configmanage/server/service/configinstance.go +++ b/configmanage/server/service/configinstance.go @@ -1,9 +1,6 @@ package service import ( - "strconv" - - "gitee.com/openeuler/PilotGo/sdk/logger" "openeuler.org/PilotGo/configmanage-plugin/internal" ) @@ -11,7 +8,7 @@ type ConfigInstance struct { UUID string `json:"uuid"` Type string `json:"type"` Description string `json:"description"` - BatchIds []uint `json:"batchids"` + BatchIds []int `json:"batchids"` DepartIds []int `json:"departids"` Nodes []string `json:"uuids"` @@ -42,6 +39,8 @@ type Deploy struct { type ConfigInfo = internal.ConfigInfo type ConfigFile = internal.ConfigFile type ConfigNode = internal.ConfigNode +type ConfigBatch = internal.ConfigBatch +type ConfigDepart = internal.ConfigDepart func (ci *ConfigInstance) Add(configuuid string) error { cm := ConfigInfo{ @@ -55,42 +54,33 @@ func (ci *ConfigInstance) Add(configuuid string) error { return err } - for _, v := range ci.BatchIds { - cn := ConfigNode{ - ConfigInfoUUID: ci.UUID, - NodeId: "b:" + strconv.Itoa(int(v)), - } - err := cn.Add() - if err != nil { - logger.Error("save config-batch failed: %s", err.Error()) - continue - } + cb := ConfigBatch{ + ConfigInfoUUID: ci.UUID, + BatchIDs: ci.BatchIds, + } + err = cb.Add() + if err != nil { + return err } - for _, v := range ci.DepartIds { - cn := ConfigNode{ - ConfigInfoUUID: ci.UUID, - NodeId: "d:" + strconv.Itoa(v), - } - err := cn.Add() - if err != nil { - logger.Error("save config-depart failed: %s", err.Error()) - continue - } + cd := ConfigDepart{ + ConfigInfoUUID: ci.UUID, + DepartIDs: ci.DepartIds, + } + err = cd.Add() + if err != nil { + return err } - for _, v := range ci.Nodes { - cn := ConfigNode{ - ConfigInfoUUID: ci.UUID, - NodeId: "n:" + v, - } - err := cn.Add() - if err != nil { - logger.Error("save config-node failed: %s", err.Error()) - continue - } + cn := ConfigNode{ + ConfigInfoUUID: ci.UUID, + NodeId: ci.Nodes, + } + err = cn.Add() + if err != nil { + return err } - return err + return nil } func GetInfoByConfigUUID(configuuid string) (ConfigInfo, error) {