diff --git a/configmanage/server/internal/dnsfile.go b/configmanage/server/internal/dnsfile.go index 5c68b8a0bce8b1e6572679f76de447d277aa0e01..d865e5a0e1b63a96aab2b3b07368fccc5ba9abfc 100644 --- a/configmanage/server/internal/dnsfile.go +++ b/configmanage/server/internal/dnsfile.go @@ -74,3 +74,10 @@ func (df *DNSFile) UpdateByuuid() error { // 将成功下发的具体某一个配置状态修改为已使用 return db.MySQL().Model(&DNSFile{}).Where("uuid=?", df.UUID).Update("is_index", 1).Error } + +// 根据配置uuid获取所有配置文件 +func GetDNSFilesByConfigUUID(uuid string) ([]DNSFile, error) { + var files []DNSFile + err := db.MySQL().Model(&DNSFile{}).Where("config_info_uuid=?", uuid).Find(&files).Error + return files, err +} diff --git a/configmanage/server/service/dns.go b/configmanage/server/service/dns.go index 645af6111286ac3eab0aa91d02d542f03ea6b218..3a34e098f3d255c2bb69a840b06092d5d7cddfa2 100644 --- a/configmanage/server/service/dns.go +++ b/configmanage/server/service/dns.go @@ -66,3 +66,8 @@ func (dc *DNSConfig) Load() error { func GetDNSFileByInfoUUID(uuid string, isindex interface{}) (DNSFile, error) { return internal.GetDNSFileByInfoUUID(uuid, isindex) } + +// 根据配置uuid获取所有配置文件 +func GetDNSFilesByConfigUUID(uuid string) ([]DNSFile, error) { + return internal.GetDNSFilesByConfigUUID(uuid) +} diff --git a/configmanage/server/service/dns_test.go b/configmanage/server/service/dns_test.go index 01b97521422e1b45c13f13bf86692d1b6f42997c..7e353d25af4ae5dcec75f0ca0788ad2fdb81d734 100644 --- a/configmanage/server/service/dns_test.go +++ b/configmanage/server/service/dns_test.go @@ -51,3 +51,20 @@ func TestGetDNSFileByUUID(t *testing.T) { } fmt.Printf("hc: %v\n", df) } + +func TestGetDNSFilesByConfigUUID(t *testing.T) { + // 设置测试数据 + testUUID := "cd1574a4-cdad-4a55-9561-9ef371456b90" + + // 调用被测试的函数 + files, err := GetDNSFilesByConfigUUID(testUUID) + if err != nil { + fmt.Printf("load dnsfile 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)) +}