package services import ( "encoding/json" "eta/eta_data_init/models" "eta/eta_data_init/utils" "fmt" "github.com/xuri/excelize/v2" "os" "path/filepath" ) //初始化指标目录结构 func InitEdbClassify() { var err error defer func() { if err != nil { fmt.Println("InitBaseIndexData Err:" + err.Error()) } }() //读取excel path, err := filepath.Abs(os.Args[0]) if err != nil { fmt.Println(err) } dir := filepath.Dir(path) fmt.Println("dir:" + dir) dataPath := dir + "/docs/ETA数据库目录配置.xlsx" fmt.Println("dataPath:" + dataPath) f, err := excelize.OpenFile(dataPath) if err != nil { fmt.Println(err) return } defer func() { // Close the spreadsheet. if err := f.Close(); err != nil { fmt.Println(err) } }() rows, err := f.GetRows("Sheet1") if err != nil { fmt.Println(err) return } fmt.Println("rows len:", len(rows)) for rk, row := range rows { if rk > 0 { var classifyFirst, classifySecond, classifyThree string for ck, colCell := range row { switch ck { case 0: classifyFirst = colCell case 1: classifySecond = colCell case 2: classifyThree = colCell } } if classifyFirst != "" && classifySecond != "" && classifyThree != "" { method := "classify/get_or_add" classifyFirstMap := make(map[string]interface{}) classifyFirstMap["ClassifyName"] = classifyFirst classifyFirstMap["ParentId"] = 0 classifyFirstMap["Level"] = 0 classifyFirstMap["ClassifyType"] = 0 result, err := PostEdbLib(classifyFirstMap, method) if err != nil { utils.FileLog.Info("初始化分类1失败:" + err.Error()) return } resp := new(models.ClassifyResp) err = json.Unmarshal(result, &resp) if err != nil { utils.FileLog.Info("初始化分类1失败:" + err.Error()) return } if resp.Ret != 200 { utils.FileLog.Info("初始化分类1失败:" + resp.Msg + ";" + resp.ErrMsg) return } classifySecondMap := make(map[string]interface{}) classifySecondMap["ClassifyName"] = classifySecond classifySecondMap["ParentId"] = resp.Data.ClassifyId classifySecondMap["Level"] = 1 classifySecondMap["ClassifyType"] = 0 result, err = PostEdbLib(classifySecondMap, method) if err != nil { utils.FileLog.Info("初始化分类2失败:" + err.Error()) return } resp = new(models.ClassifyResp) err = json.Unmarshal(result, &resp) if err != nil { utils.FileLog.Info("初始化分类2失败:" + err.Error()) return } if resp.Ret != 200 { utils.FileLog.Info("初始化分类2失败:" + resp.Msg + ";" + resp.ErrMsg) return } classifyThreeMap := make(map[string]interface{}) classifyThreeMap["ClassifyName"] = classifyThree classifyThreeMap["ParentId"] = resp.Data.ClassifyId classifyThreeMap["Level"] = 2 classifyThreeMap["ClassifyType"] = 0 result, err = PostEdbLib(classifyThreeMap, method) if err != nil { utils.FileLog.Info("初始化分类3失败:" + err.Error()) return } resp = new(models.ClassifyResp) err = json.Unmarshal(result, &resp) if err != nil { utils.FileLog.Info("初始化分类2失败:" + err.Error()) return } if resp.Ret != 200 { utils.FileLog.Info("初始化分类3失败:" + resp.Msg + ";" + resp.ErrMsg) return } } else { fmt.Println("data is empty") fmt.Println(classifyFirst, classifySecond, classifyThree) } } } }