|
@@ -0,0 +1,141 @@
|
|
|
+package services
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "github.com/xuri/excelize/v2"
|
|
|
+ "hongze/hz_eta_data/models"
|
|
|
+ "hongze/hz_eta_data/utils"
|
|
|
+ "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)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|