// 设置配置文件 func SetRootDir(root string) error { // 构造配置文件路径 filePath := filepath.Join(root, configFile) _, err := os.Stat(filePath) if os.IsNotExist(err) { return err } // 读取文件 buffer, err := io.ReadAllBytes(filePath) if err != nil { return err } // 解析配置项 configValue = &Config{} err = json.Unmarshal(buffer, configValue) if err != nil { return err } if configValue == nil { return fmt.Errorf("配置文件错误") } return nil }
// 解析文件 func parseFile(path string) error { // 如果文件不存在则忽略 // 有可能被Market History任务处理了 _, err := os.Stat(path) if os.IsNotExist(err) { return nil } marketName, code, day, err := retrieveParams(path) if err != nil { return err } // 检查数据库是否解析过 found, err := db.DailyExists(marketName, code, day) if err != nil { return err } // 解析过就忽略 if !found { // 读文件内容 buffer, err := io.ReadAllBytes(path) if err != nil { return err } // 解析 dar, err := market.ParseDailyYahooJson(marketName, code, day, buffer) if err != nil { return err } // 保存 err = db.DailySave(dar) if err != nil { return err } } // 解析成功就删除文件 return os.Remove(path) }