diff --git a/configmanage/server/internal/sysctl.go b/configmanage/server/internal/sysctl.go index c041ef43dc10fcdeb2fe0b07df0f409c0de6e269..ebae84167040bd0a97a536d67c0d5715b7aac16a 100644 --- a/configmanage/server/internal/sysctl.go +++ b/configmanage/server/internal/sysctl.go @@ -35,3 +35,19 @@ func GetSysctlFileByInfoUUID(uuid string, isindex interface{}) (SysctlFile, erro err := db.MySQL().Model(&SysctlFile{}).Where("config_info_uuid=?", uuid).Find(&file).Error return file, err } + +func GetSysctlFileByUUID(uuid string) (SysctlFile, error) { + var file SysctlFile + err := db.MySQL().Model(&SysctlFile{}).Where("uuid=?", uuid).Find(&file).Error + return file, err +} + +func (sysf *SysctlFile) UpdateByuuid() error { + // 将同类配置的所有标志修改为未使用 + err := db.MySQL().Model(&SysctlFile{}).Where("config_info_uuid=?", sysf.ConfigInfoUUID).Update("is_index", 0).Error + if err != nil { + return err + } + // 将成功下发的具体某一个配置状态修改为已使用 + return db.MySQL().Model(&SysctlFile{}).Where("uuid=?", sysf.UUID).Update("is_index", 1).Error +} diff --git a/configmanage/server/service/sysctl_test.go b/configmanage/server/service/sysctl_test.go index 94e5b18978a66fb5bda15faeea67bd5039ca0d63..dbb592a4e498f596c9629a390cf66a84f4960a5f 100644 --- a/configmanage/server/service/sysctl_test.go +++ b/configmanage/server/service/sysctl_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/google/uuid" + "openeuler.org/PilotGo/configmanage-plugin/internal" ) func TestSysctlConfig_Record(t *testing.T) { @@ -40,3 +41,13 @@ func TestSysctlConfig_Load(t *testing.T) { } fmt.Printf("sysc: %v\n", sysc) } + +func TestGetSysctlFileByUUID(t *testing.T) { + uuid := "9eb2dda0-1005-4bfa-acab-3daa9b6fbcc6" + sysf, err := internal.GetSysctlFileByUUID(uuid) + if err != nil { + fmt.Printf("get SysctlFile error: %s\n", err) + os.Exit(-1) + } + fmt.Printf("SysctlFile: %v\n", sysf) +}