// Package fenwei // @Author gmy 2024/8/20 15:06:00 package fenwei import ( "context" "encoding/json" "eta/eta_data_analysis/models" "eta/eta_data_analysis/utils" "fmt" "os" ) // FenWeiNetDataDeal 汾渭网络数据处理 func FenWeiNetDataDeal(context.Context) (err error) { defer func() { if err != nil { fmt.Println("FenWeiNetDataDeal Err:" + err.Error()) utils.FileLog.Info(fmt.Sprintf("FenWeiNetDataDeal Err: %s", err.Error())) } }() utils.FileLog.Info("FenWeiNetDataDeal start") // 读取配置 configFile, err := os.ReadFile(utils.FenweiNetJsonPath) if err != nil { utils.FileLog.Info(fmt.Sprintf("读取配置文件错误: %v", err)) return } // 定义通用的 map 结构体来解析 JSON var config models.JsonConfig // 解析 JSON 文件内容 err = json.Unmarshal(configFile, &config) if err != nil { utils.FileLog.Info(fmt.Sprintf("解析配置文件错误: %v", err)) return } factory := ProcessorFactory{} // 遍历调用对应的处理方法 for _, v := range config.Data { processor := factory.CreateProcessor(v) err = processor.FetchAndProcess(processor) if err != nil { utils.FileLog.Info(fmt.Sprintf("处理数据错误: %v", err)) return } } utils.FileLog.Info("FenWeiNetDataDeal end") return }