base_from_hisugar.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. package services
  2. //var IndexCodeMap = make(map[string]string)
  3. //var IndexMap = make(map[string]*models.BaseFromOilchemIndex)
  4. //func HandleOilchemIndex(list []*models.BaseFromOilchemIndexReq) (err error) {
  5. // allCode, e := models.GetBaseFromOilchemIndex()
  6. // if e != nil {
  7. // err = e
  8. // fmt.Println("select Code err:", err)
  9. // utils.FileLog.Info("GetBaseFromOilchemIndex err:", err)
  10. // return
  11. // }
  12. //
  13. // for _, item := range allCode {
  14. // IndexCodeMap[item.IndexName] = item.IndexCode
  15. // IndexMap[item.IndexName] = item
  16. // }
  17. //
  18. // for _, v := range list {
  19. // indexCode, needAdd := OilchemIndexCodeGenerator(v.IndexName, v.IndexNameStr, v.MarketName)
  20. // if needAdd {
  21. // item := models.BaseFromOilchemIndex{
  22. // IndexCode: indexCode,
  23. // IndexName: v.IndexName,
  24. // ClassifyId: v.ClassifyId,
  25. // Unit: v.Unit,
  26. // Frequency: v.Frequency,
  27. // Describe: v.Describe,
  28. // Sort: v.Sort,
  29. // CreateTime: v.CreateTime,
  30. // ModifyTime: v.ModifyTime,
  31. // }
  32. // id, e := models.AddBaseFromOilchemIndex(&item)
  33. // if e != nil {
  34. // err = e
  35. // fmt.Println("AddBaseFromOilchemIndexMuti err:", err)
  36. // utils.FileLog.Info("AddBaseFromOilchemIndexMuti err:", err)
  37. // return
  38. // }
  39. // item.BaseFromOilchemIndexId = int(id)
  40. // IndexMap[item.IndexName] = &item
  41. // }
  42. //
  43. //
  44. // //获取指标数据信息
  45. // data, e := models.GetBaseFromOilchemData(indexCode, v.DataTime)
  46. // if e != nil && e.Error() != utils.ErrNoRow() {
  47. // err = e
  48. // fmt.Println("select err:", err)
  49. // utils.FileLog.Info("GetBaseFromTradeSci99IndexAll err:", err)
  50. // }
  51. //
  52. // if data != nil {
  53. // if data.Value != v.Value {
  54. // // 更新
  55. // fmt.Println("更新指标:", indexCode+v.DataTime)
  56. // utils.FileLog.Info("更新指标:", indexCode+v.DataTime)
  57. // e = models.UpdateBaseFromOilchemData(v.Value, indexCode, v.DataTime)
  58. // if e != nil {
  59. // err = e
  60. // fmt.Println("Error update into database:", err)
  61. // utils.FileLog.Info("Error update into database:", err)
  62. // return
  63. // }
  64. // }
  65. // } else {
  66. // // 新增
  67. // dataItem := models.BaseFromOilchemData{
  68. // BaseFromOilchemIndexId: IndexMap[v.IndexName].BaseFromOilchemIndexId,
  69. // IndexCode: indexCode,
  70. // DataTime: v.DataTime,
  71. // Value: v.Value,
  72. // CreateTime: v.CreateTime,
  73. // ModifyTime: v.ModifyTime,
  74. // }
  75. // fmt.Println("新增数据:", indexCode+v.DataTime)
  76. // utils.FileLog.Info("新增数据:", indexCode+v.DataTime)
  77. //
  78. // _,e = models.AddBaseFromOilchemData(&dataItem)
  79. // if e != nil {
  80. // err = e
  81. // fmt.Println("Error inserting into database:", err)
  82. // utils.FileLog.Info("Error inserting into database:", err)
  83. // return
  84. // }
  85. // }
  86. // }
  87. //
  88. // return
  89. //}
  90. //
  91. //
  92. //func OilchemIndexCodeGenerator(indexName, indexCodeStr, marketSampleName string) (indexCode string, needAdd bool) {
  93. // strResult := ""
  94. // indexCode, _ = IndexCodeMap[indexName]
  95. // if indexCode == "" {
  96. // //首字母
  97. // a := pinyin.NewArgs()
  98. // a.Fallback = func(r rune, a pinyin.Args) []string {
  99. // return []string{string(r)}
  100. // }
  101. // indexCodeStr = strings.Replace(indexCodeStr, "(", "", -1)
  102. // indexCodeStr = strings.Replace(indexCodeStr, ")", "", -1)
  103. // rows := pinyin.Pinyin(indexCodeStr, a)
  104. // for i := 0; i < len(rows); i++ {
  105. // //strResult += rows[i][0]
  106. // if len(rows[i]) != 0 {
  107. // str := rows[i][0]
  108. // pi := str[0:1]
  109. // strResult += pi
  110. // }
  111. // }
  112. //
  113. // // 处理括号内名称
  114. // if marketSampleName != "" {
  115. // if province, ok := ProvinceMap[marketSampleName]; ok {
  116. // strResult += province
  117. // } else {
  118. // a := pinyin.NewArgs()
  119. // rows := pinyin.LazyPinyin(marketSampleName, a)
  120. // for i := 0; i < len(rows); i++ {
  121. // strResult += rows[i]
  122. // }
  123. // if len(rows) == 0 {
  124. // strResult += marketSampleName
  125. // }
  126. // }
  127. // }
  128. //
  129. //
  130. // // 去除特殊符号
  131. // strResult = strings.Replace(strResult, " ", "", -1)
  132. // strResult = strings.Replace(strResult, "-", "", -1)
  133. // strResult = strings.Replace(strResult, "/", "", -1)
  134. // strResult = strings.Replace(strResult, "#", "", -1)
  135. // strResult = strings.Replace(strResult, ":", "", -1)
  136. // strResult = strings.Replace(strResult, "(", "", -1)
  137. // strResult = strings.Replace(strResult, ")", "", -1)
  138. //
  139. //
  140. // needAdd = true
  141. // strResult = "lzzxw" + strResult
  142. // indexCode = strings.Replace(strResult, " ", "", -1)
  143. // IndexCodeMap[indexName] = indexCode
  144. // }
  145. // return
  146. //}
  147. //
  148. //var ProvinceMap = map[string]string{
  149. // "上海": "shanghai",
  150. // "云南": "yunnan",
  151. // "内蒙古": "innermongolia",
  152. // "北京": "beijing",
  153. // "台湾": "taiwan",
  154. // "吉林": "jilin",
  155. // "四川": "sichuan",
  156. // "天津": "tianjin",
  157. // "宁夏": "ningxia",
  158. // "安徽": "anhui",
  159. // "山东": "shandong",
  160. // "山西": "shanxi",
  161. // "广东": "guangdong",
  162. // "广西": "guangxi",
  163. // "新疆": "xinjiang",
  164. // "江苏": "jiangsu",
  165. // "江西": "jiangxi",
  166. // "河北": "hebei",
  167. // "河南": "henan",
  168. // "浙江": "zhejiang",
  169. // "海南": "hainan",
  170. // "湖北": "hubei",
  171. // "湖南": "hunan",
  172. // "澳门": "macao",
  173. // "甘肃": "gansu",
  174. // "福建": "fujian",
  175. // "西藏": "tibet",
  176. // "贵州": "guizhou",
  177. // "辽宁": "liaoning",
  178. // "重庆": "chongqing",
  179. // "陕西": "shaanxi",
  180. // "青海": "qinhai",
  181. // "香港": "hongkong",
  182. // "黑龙江": "heilongjiang",
  183. //}