init_base_index.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package services
  2. import (
  3. "fmt"
  4. "github.com/xuri/excelize/v2"
  5. "hongze/hz_eta_data/models"
  6. "hongze/hz_eta_data/utils"
  7. "os"
  8. "path/filepath"
  9. )
  10. // 初始化基础指标数据
  11. func InitBaseIndexData() {
  12. //读取excel
  13. path, err := filepath.Abs(os.Args[0])
  14. if err != nil {
  15. fmt.Println(err)
  16. }
  17. dir := filepath.Dir(path)
  18. fmt.Println(dir)
  19. dataPath := dir + "/docs/逸诺初始化数据示例.xlsx"
  20. f, err := excelize.OpenFile(dataPath)
  21. if err != nil {
  22. fmt.Println(err)
  23. return
  24. }
  25. defer func() {
  26. // Close the spreadsheet.
  27. if err := f.Close(); err != nil {
  28. fmt.Println(err)
  29. }
  30. }()
  31. rows, err := f.GetRows("Sheet1")
  32. if err != nil {
  33. fmt.Println(err)
  34. return
  35. }
  36. for rk, row := range rows {
  37. if rk > 0 {
  38. var classifyFirst, classifySecond, classifyThree, indexCode, indexName, unit, frequency, source string
  39. for ck, colCell := range row {
  40. switch ck {
  41. case 0:
  42. classifyFirst = colCell
  43. case 1:
  44. classifySecond = colCell
  45. case 2:
  46. classifySecond = colCell
  47. case 3:
  48. indexCode = colCell
  49. case 4:
  50. indexName = colCell
  51. case 5:
  52. frequency = colCell
  53. case 6:
  54. unit = colCell
  55. case 7:
  56. source = colCell
  57. }
  58. if classifyFirst != "" &&
  59. classifySecond != "" &&
  60. classifyThree != "" &&
  61. indexCode != "" &&
  62. indexName != "" &&
  63. unit != "" &&
  64. frequency != "" &&
  65. source != "" {
  66. method := "classify/get_or_add"
  67. classifyFirstMap := make(map[string]interface{})
  68. classifyFirstMap["ClassifyName"] = classifyFirst
  69. classifyFirstMap["ParentId"] = 0
  70. classifyFirstMap["Level"] = 0
  71. classifyFirstMap["ClassifyType"] = 0
  72. resp, err := PostEdbLib(classifyFirstMap, method)
  73. if err != nil {
  74. utils.FileLog.Info("初始化分类1失败:" + err.Error())
  75. return
  76. }
  77. if resp.Ret != 200 {
  78. utils.FileLog.Info("初始化分类1失败:" + resp.Msg + ";" + resp.ErrMsg)
  79. return
  80. }
  81. classifySecondMap := make(map[string]interface{})
  82. classifySecondMap["ClassifyName"] = classifySecond
  83. classifySecondMap["ParentId"] = 0
  84. classifySecondMap["Level"] = 0
  85. classifySecondMap["ClassifyType"] = 0
  86. resp, err = PostEdbLib(classifySecondMap, method)
  87. if err != nil {
  88. utils.FileLog.Info("初始化分类2失败:" + err.Error())
  89. return
  90. }
  91. if resp.Ret != 200 {
  92. utils.FileLog.Info("初始化分类2失败:" + resp.Msg + ";" + resp.ErrMsg)
  93. return
  94. }
  95. classifyThreeMap := make(map[string]interface{})
  96. classifyThreeMap["ClassifyName"] = classifyThree
  97. classifyThreeMap["ParentId"] = 0
  98. classifyThreeMap["Level"] = 0
  99. classifyThreeMap["ClassifyType"] = 0
  100. resp, err = PostEdbLib(classifyThreeMap, method)
  101. if err != nil {
  102. utils.FileLog.Info("初始化分类3失败:" + err.Error())
  103. return
  104. }
  105. if resp.Ret != 200 {
  106. utils.FileLog.Info("初始化分类3失败:" + resp.Msg + ";" + resp.ErrMsg)
  107. return
  108. }
  109. classify := resp.Data.(*models.EdbClassify)
  110. var classifyId int
  111. if classify != nil {
  112. classifyId = classify.ClassifyId
  113. }
  114. method = "edb_info/add"
  115. indexMap := make(map[string]interface{})
  116. indexMap["Source"] = IndexSourceMap[source]
  117. indexMap["EdbCode"] = indexCode
  118. indexMap["EdbName"] = indexName
  119. indexMap["Frequency"] = frequency
  120. indexMap["Unit"] = unit
  121. indexMap["ClassifyId"] = classifyId
  122. resp, err = PostEdbLib(indexMap, method)
  123. if err != nil {
  124. utils.FileLog.Info("初始化指标失败:" + err.Error())
  125. return
  126. }
  127. if resp.Ret != 200 {
  128. utils.FileLog.Info("初始化指标失败:" + resp.Msg + ";" + resp.ErrMsg)
  129. return
  130. }
  131. }
  132. }
  133. }
  134. fmt.Println()
  135. }
  136. }
  137. /*
  138. // PostEdbLib 调用指标接口
  139. func PostEdbLib(param map[string]interface{}, method string) (resp *models.BaseResponse, err error) {
  140. postUrl := utils.EDB_LIB_URL + method
  141. postData, err := json.Marshal(param)
  142. if err != nil {
  143. return
  144. }
  145. result, err := HttpPost(postUrl, string(postData), "application/json")
  146. if err != nil {
  147. return
  148. }
  149. err = json.Unmarshal(result, &resp)
  150. if err != nil {
  151. return
  152. }
  153. return resp, nil
  154. }
  155. */