package ruizide import ( "eta/eta_data_analysis/models" "fmt" ) type ReportProcessor interface { Process(string, string, []string) ([]models.BaseFromRzdData, error) } func GetProcessor(tableName string, sheetName string) (ReportProcessor, error) { if tableName == "Oil_Demand_Signals_Weekly_Report" { switch sheetName { case "Road Index": return &RoadIndexProcessor{}, nil default: return nil, fmt.Errorf("unknown sheetName: %s", sheetName) } } else if tableName == "豆粕" { switch sheetName { default: return nil, fmt.Errorf("unknown sheetName: %s", sheetName) } } // 可以添加更多的逻辑来处理其他产品和类别 return nil, fmt.Errorf("no processor found for tableName %s and sheetName %s", tableName, sheetName) }