diff --git a/configmanage/server/db/db.go b/configmanage/server/db/db.go index 81022515847d363c9b8f43b9116d3871dfc4368b..fa6087535fb460a011e3412f2bdeddd3cc8c8b4e 100644 --- a/configmanage/server/db/db.go +++ b/configmanage/server/db/db.go @@ -62,8 +62,6 @@ func MysqldbInit(conf *config.MysqlDBInfo) error { db.SetMaxIdleConns(10) db.SetMaxOpenConns(100) - //创建数据库表信息 - MySQL().AutoMigrate() return nil } diff --git a/configmanage/server/go.mod b/configmanage/server/go.mod index 38c5678c8c22025e6656dab8f2f9923dfb70650f..a37f622b946444f2f9749d6186a64eec8d3ceff4 100644 --- a/configmanage/server/go.mod +++ b/configmanage/server/go.mod @@ -11,6 +11,7 @@ require ( require ( github.com/go-sql-driver/mysql v1.7.0 // indirect + github.com/google/uuid v1.2.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/kr/text v0.2.0 // indirect diff --git a/configmanage/server/go.sum b/configmanage/server/go.sum index 6ab5db43d4e0446782aaad4804e6f92d239b58e2..c76f8c2eaa6b4247e5fd62984975c074d45fdc8b 100644 --- a/configmanage/server/go.sum +++ b/configmanage/server/go.sum @@ -6,6 +6,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= diff --git a/configmanage/server/main.go b/configmanage/server/main.go index 0159e37f475b9f7c3428e60d9c8430637ecb2609..835d07fbd3f469a7fe2f2d09c982516cf88c5c3d 100644 --- a/configmanage/server/main.go +++ b/configmanage/server/main.go @@ -11,6 +11,7 @@ import ( "openeuler.org/PilotGo/configmanage-plugin/db" "openeuler.org/PilotGo/configmanage-plugin/global" "openeuler.org/PilotGo/configmanage-plugin/router" + "openeuler.org/PilotGo/configmanage-plugin/service" ) var config_file string @@ -38,6 +39,9 @@ func main() { os.Exit(-1) } + db.MySQL().AutoMigrate(&service.ConfigMessage{}) + db.MySQL().AutoMigrate(&service.ConfigFile{}) + db.MySQL().AutoMigrate(&service.ConfigNode{}) 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 new file mode 100644 index 0000000000000000000000000000000000000000..f51c1a8d5e3cfe07d2fad7ffd50cc9b02dc6ec4d --- /dev/null +++ b/configmanage/server/service/configinstance.go @@ -0,0 +1,73 @@ +package service + +import ( + "strconv" + + "gitee.com/openeuler/PilotGo/sdk/logger" + "github.com/google/uuid" + "openeuler.org/PilotGo/configmanage-plugin/internal" +) + +type ConfigInstance struct { + Type string `json:"type"` + BatchIds []uint `json:"batchids"` + DepartIds []int `json:"departids"` + UUIDS []string `json:"uuids"` + Config *Config +} + +type ConfigMessage = internal.ConfigMessage +type ConfigFile = internal.ConfigFile +type ConfigNode = internal.ConfigNode + +func (ci *ConfigInstance) AddConfigType() error { + cm := ConfigMessage{ + UUID: uuid.New().String(), + Type: ci.Type, + Description: "", + } + err := cm.AddConfigMessage() + if err != nil { + return err + } + for _, v := range ci.BatchIds { + cn := ConfigNode{ + ConfigMessageUUID: cm.UUID, + NodeId: "b" + strconv.Itoa(int(v)), + } + err := cn.AddConfigNode() + if err != nil { + logger.Error("save config-batch failed: %s", err.Error()) + continue + } + } + for _, v := range ci.DepartIds { + cn := ConfigNode{ + ConfigMessageUUID: cm.UUID, + NodeId: "d" + strconv.Itoa(v), + } + err := cn.AddConfigNode() + if err != nil { + logger.Error("save config-depart failed: %s", err.Error()) + continue + } + } + for _, v := range ci.UUIDS { + cn := ConfigNode{ + ConfigMessageUUID: cm.UUID, + NodeId: "n" + v, + } + err := cn.AddConfigNode() + if err != nil { + logger.Error("save config-node failed: %s", err.Error()) + continue + } + } + cf := ConfigFile{ + ConfigMessageUUID: cm.UUID, + Name: "", + File: "", + } + err = cf.AddConfigFile() + return err +} diff --git a/go.work.sum b/go.work.sum index fa67438ac8c255e09514479d50c201907a4f0534..365b6770b53d63f7f22037535ff74aaf547b7fc7 100644 --- a/go.work.sum +++ b/go.work.sum @@ -147,6 +147,7 @@ github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLe github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.3.1/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=