package dao import "fmt" // 验证记录条数是否一致 func ValidateRecordCount(metaRecords []ConfigMetaRecord, param *ConfigMetaParam) error { if len(metaRecords) != len(param.YamlNames) { // 找出缺失的字段 metaSet := make(map[string]ConfigMetaRecord) for _, record := range metaRecords { metaSet[record.YamlName] = record } missingFields := make([]string, 0) for _, name := range param.YamlNames { if _, exists := metaSet[name]; !exists { missingFields = append(missingFields, name) } } return fmt.Errorf("配置字段与元信息不一致,配置 %s 缺少字段: %v", param.ConfigRequest.YamlRoot, missingFields) } return nil }