diff --git a/configmanage/server/internal/hostfile.go b/configmanage/server/internal/hostfile.go index 24645a8f85b1638be67237444e1279c05aec8176..b276328519654938267a61799c923dc4c5f00b61 100644 --- a/configmanage/server/internal/hostfile.go +++ b/configmanage/server/internal/hostfile.go @@ -51,3 +51,10 @@ func (hf *HostFile) UpdateByuuid() error { // 将成功下发的具体某一个配置状态修改为已使用 return db.MySQL().Model(&HostFile{}).Where("uuid=?", hf.UUID).Update("is_index", 1).Error } + +// 根据配置uuid获取所有配置文件 +func GetHostFilesByCinfigUUID(uuid string) ([]HostFile, error) { + var files []HostFile + err := db.MySQL().Model(&HostFile{}).Where("config_info_uuid=?", uuid).Find(&files).Error + return files, err +} diff --git a/configmanage/server/service/host.go b/configmanage/server/service/host.go index d3f73ca04373261659e96cfab8cea91d124cc6e5..28ce34738ab6c36099df77a44f254578c4837d75 100644 --- a/configmanage/server/service/host.go +++ b/configmanage/server/service/host.go @@ -157,3 +157,8 @@ func (hc *HostConfig) Apply() (json.RawMessage, error) { func (hc *HostConfig) Collect() error { return nil } + +// 根据配置uuid获取所有配置文件 +func GetHostFilesByCinfigUUID(uuid string) ([]HostFile, error) { + return internal.GetHostFilesByCinfigUUID(uuid) +} diff --git a/configmanage/server/service/host_test.go b/configmanage/server/service/host_test.go index 9a861a104fbac6f4ba5363c8419bfba518f47d7f..6618ffd84d5c47b9a0ef10863013f2198989dae8 100644 --- a/configmanage/server/service/host_test.go +++ b/configmanage/server/service/host_test.go @@ -46,8 +46,25 @@ func TestGetHostFileByUUID(t *testing.T) { uuid := "4254b485-8e8a-427c-bed1-5da05e363657" hf, err := internal.GetHostFileByUUID(uuid) if err != nil { - fmt.Printf("get host file error: %s\n", err) + fmt.Printf("get hostfile error: %s\n", err) os.Exit(-1) } fmt.Printf("hc: %v\n", hf) } + +func TestGetHostFilesByCinfigUUID(t *testing.T) { + // 设置测试数据 + testUUID := "158e0acf-159b-4876-83b1-fa5f3d6460b1" + + // 调用被测试的函数 + files, err := GetHostFilesByCinfigUUID(testUUID) + if err != nil { + fmt.Printf("load hostfiles error: %s\n", err) + os.Exit(-1) + } + if len(files) == 0 { + fmt.Printf("files is empty: %s\n", err) + os.Exit(-1) + } + fmt.Println(len(files)) +}