base_from_fenwei_service.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Package fenwei
  2. // @Author gmy 2024/8/20 15:06:00
  3. package fenwei
  4. import (
  5. "context"
  6. "encoding/json"
  7. "eta/eta_data_analysis/models"
  8. "eta/eta_data_analysis/utils"
  9. "fmt"
  10. "os"
  11. )
  12. // FenWeiNetDataDeal 汾渭网络数据处理
  13. func FenWeiNetDataDeal(context.Context) (err error) {
  14. defer func() {
  15. if err != nil {
  16. fmt.Println("FenWeiNetDataDeal Err:" + err.Error())
  17. utils.FileLog.Info(fmt.Sprintf("FenWeiNetDataDeal Err: %s", err.Error()))
  18. }
  19. }()
  20. utils.FileLog.Info("FenWeiNetDataDeal start")
  21. // 读取配置
  22. configFile, err := os.ReadFile(utils.FenweiNetJsonPath)
  23. if err != nil {
  24. utils.FileLog.Info(fmt.Sprintf("读取配置文件错误: %v", err))
  25. return
  26. }
  27. // 定义通用的 map 结构体来解析 JSON
  28. var config models.JsonConfig
  29. // 解析 JSON 文件内容
  30. err = json.Unmarshal(configFile, &config)
  31. if err != nil {
  32. utils.FileLog.Info(fmt.Sprintf("解析配置文件错误: %v", err))
  33. return
  34. }
  35. factory := ProcessorFactory{}
  36. // 遍历调用对应的处理方法
  37. for _, v := range config.Data {
  38. processor := factory.CreateProcessor(v)
  39. err = processor.FetchAndProcess(processor)
  40. if err != nil {
  41. utils.FileLog.Info(fmt.Sprintf("处理数据错误: %v", err))
  42. return
  43. }
  44. }
  45. utils.FileLog.Info("FenWeiNetDataDeal end")
  46. return
  47. }