constants.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. package utils
  2. import "time"
  3. // 常量定义
  4. const (
  5. FormatTime = "15:04:05" //时间格式
  6. FormatDate = "2006-01-02" //日期格式
  7. FormatDateUnSpace = "20060102" //日期格式
  8. FormatDateTime = "2006-01-02 15:04:05" //完整时间格式
  9. HlbFormatDateTime = "2006-01-02_15:04:05.999" //完整时间格式
  10. FormatDateTimeUnSpace = "20060102150405" //完整时间格式
  11. FormatShortDateTimeUnSpace = "060102150405" //省去开头两位年份的时间格式
  12. FormatYearMonthDate = "2006-01" //日期格式
  13. FormatYearMonthUnSpace = "200601" //年月的日期格式
  14. PageSize15 = 15 //列表页每页数据量
  15. PageSize5 = 5
  16. PageSize10 = 10
  17. PageSize20 = 20
  18. PageSize30 = 30
  19. )
  20. const DateTypeNYears = 20 //时间类型为最近N年
  21. // 数据来源渠道
  22. const (
  23. DATA_SOURCE_THS = iota + 1 //同花顺
  24. DATA_SOURCE_WIND //wind->2
  25. DATA_SOURCE_PB //彭博->3
  26. DATA_SOURCE_CALCULATE //指标运算->4
  27. DATA_SOURCE_CALCULATE_LJZZY //累计值转月->5
  28. DATA_SOURCE_CALCULATE_TBZ //同比值->6
  29. DATA_SOURCE_CALCULATE_TCZ //同差值->7
  30. DATA_SOURCE_CALCULATE_NSZYDPJJS //N数值移动平均计算->8
  31. DATA_SOURCE_MANUAL //手工指标->9
  32. DATA_SOURCE_LZ //隆众->10
  33. DATA_SOURCE_YS //有色->11
  34. DATA_SOURCE_CALCULATE_HBZ //环比值->12
  35. DATA_SOURCE_CALCULATE_HCZ //环差值->13
  36. DATA_SOURCE_CALCULATE_BP //变频->14
  37. DATA_SOURCE_GL //钢联->15
  38. DATA_SOURCE_ZZ //郑商所->16
  39. DATA_SOURCE_DL //大商所->17
  40. DATA_SOURCE_SH //上期所->18
  41. DATA_SOURCE_CFFEX //中金所->19
  42. DATA_SOURCE_SHFE //上期能源->20
  43. DATA_SOURCE_GIE //欧洲天然气->21
  44. DATA_SOURCE_CALCULATE_TIME_SHIFT //时间移位->22
  45. DATA_SOURCE_CALCULATE_ZJPJ //直接拼接->23
  46. DATA_SOURCE_CALCULATE_LJZTBPJ //累计值同比拼接->24
  47. DATA_SOURCE_LT //路透->25
  48. DATA_SOURCE_COAL //中国煤炭市场网->26
  49. DATA_SOURCE_PYTHON //python代码->27
  50. DATA_SOURCE_PB_FINANCE //彭博财务数据->28
  51. DATA_SOURCE_GOOGLE_TRAVEL //谷歌出行->29
  52. DATA_SOURCE_PREDICT //普通预测指标->30
  53. DATA_SOURCE_PREDICT_CALCULATE //预测指标运算->31
  54. DATA_SOURCE_PREDICT_CALCULATE_TBZ //预测同比值->32
  55. DATA_SOURCE_PREDICT_CALCULATE_TCZ //预测同差值->33
  56. DATA_SOURCE_MYSTEEL_CHEMICAL //钢联化工->34
  57. DATA_SOURCE_CALCULATE_CJJX //超季节性->35
  58. DATA_SOURCE_EIA_STEO //eia steo报告->36
  59. DATA_SOURCE_CALCULATE_NHCC //计算指标(拟合残差)->37
  60. DATA_SOURCE_COM_TRADE //联合国商品贸易数据->38
  61. DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS //预测指标 - N数值移动平均计算 -> 39
  62. DATA_SOURCE_CALCULATE_ADJUST //数据调整->40
  63. DATA_SOURCE_SCI //卓创数据(红桃三)->41
  64. DATA_SOURCE_PREDICT_CALCULATE_LJZZY //预测指标 - 累计值转月->42
  65. DATA_SOURCE_PREDICT_CALCULATE_HBZ //预测指标 - 环比值->43
  66. DATA_SOURCE_PREDICT_CALCULATE_HCZ //预测指标 - 环差值->44
  67. DATA_SOURCE_PREDICT_CALCULATE_BP //预测指标 - 变频->45
  68. DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT //预测指标 - 时间移位->46
  69. DATA_SOURCE_PREDICT_CALCULATE_ZJPJ //预测指标 - 直接拼接->47
  70. DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ //预测指标 - 累计值同比拼接->48
  71. DATA_SOURCE_PREDICT_CALCULATE_CJJX //预测指标 - 超季节性->49
  72. DATA_SOURCE_PREDICT_CALCULATE_NHCC //预测指标 - 计算指标(拟合残差)->50
  73. DATA_SOURCE_CALCULATE_JP //变频->51
  74. DATA_SOURCE_CALCULATE_NH //年化->52
  75. DATA_SOURCE_CALCULATE_KSZS //扩散指数->53
  76. DATA_SOURCE_PREDICT_CALCULATE_JP //预测指标 - 计算指标(降频)->54
  77. DATA_SOURCE_PREDICT_CALCULATE_NH //预测指标 - 计算指标(年化)->55
  78. DATA_SOURCE_PREDICT_CALCULATE_KSZS //预测指标 - 计算指标(扩散指数)->56
  79. DATA_SOURCE_BAIINFO //百川盈孚 ->57
  80. DATA_SOURCE_STOCK_PLANT //存量装置 ->58
  81. DATA_SOURCE_CALCULATE_CORRELATION //滚动相关性->59
  82. DATA_SOURCE_NATIONAL_STATISTICS //国家统计局->60
  83. DATA_SOURCE_CALCULATE_LJZZJ //累计值转季 -> 61
  84. DATA_SOURCE_CALCULATE_LJZ //累计值 -> 62
  85. DATA_SOURCE_CALCULATE_LJZNCZJ //累计值(年初至今) -> 63
  86. DATA_SOURCE_PREDICT_CALCULATE_LJZZJ //预测指标 - 累计值转季->64
  87. DATA_SOURCE_PREDICT_CALCULATE_LJZ //预测指标 - 累计值 -> 65
  88. DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ //预测指标 - 累计值(年初至今) -> 66
  89. DATA_SOURCE_CALCULATE_STANDARD_DEVIATION //标准差->67
  90. DATA_SOURCE_CALCULATE_PERCENTILE //百分位图表->68
  91. DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION //预测标准差->69
  92. DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE //预测百分位->70
  93. DATA_SOURCE_FUBAO //富宝->71
  94. DATA_SOURCE_CALCULATE_ZSXY // 指数修匀->72
  95. DATA_SOURCE_PREDICT_CALCULATE_ZSXY // 预测指数修匀->73
  96. DATA_SOURCE_CALCULATE_ZDYFX // 自定义分析->74
  97. DATA_SOURCE_CALCULATE_RJZ // 日均值计算->75
  98. DATA_SOURCE_GFEX = 78 // 广州期货交易所->78
  99. DATA_SOURCE_ICPI = 79 // ICPI消费价格指数->79
  100. )
  101. // 子数据来源渠道
  102. const (
  103. DATA_SUB_SOURCE_EDB = iota //经济数据库
  104. DATA_SUB_SOURCE_DATE //日期序列
  105. )
  106. // 指标来源的中文展示
  107. const (
  108. DATA_SOURCE_NAME_THS = `同花顺` //同花顺
  109. DATA_SOURCE_NAME_WIND = `wind` //wind
  110. DATA_SOURCE_NAME_PB = `彭博` //彭博
  111. DATA_SOURCE_NAME_CALCULATE = `指标运算` //指标运算
  112. DATA_SOURCE_NAME_CALCULATE_LJZZY = `累计值转月值` //累计值转月
  113. DATA_SOURCE_NAME_CALCULATE_TBZ = `同比值` //同比值
  114. DATA_SOURCE_NAME_CALCULATE_TCZ = `同差值` //同差值
  115. DATA_SOURCE_NAME_CALCULATE_NSZYDPJJS = `N数值移动平均计算` //N数值移动平均计算
  116. DATA_SOURCE_NAME_MANUAL = `手工数据` //手工指标
  117. DATA_SOURCE_NAME_LZ = `隆众` //隆众
  118. DATA_SOURCE_NAME_YS = `SMM` //有色
  119. DATA_SOURCE_NAME_CALCULATE_HBZ = `环比值` //环比值->12
  120. DATA_SOURCE_NAME_CALCULATE_HCZ = `环差值` //环差值->13
  121. DATA_SOURCE_NAME_CALCULATE_BP = `升频` //变频,2023-2-10 13:56:01调整为"升频"->14
  122. DATA_SOURCE_NAME_GL = `钢联` //钢联->15
  123. DATA_SOURCE_NAME_ZZ = `郑商所` //郑商所->16
  124. DATA_SOURCE_NAME_DL = `大商所` //大商所->17
  125. DATA_SOURCE_NAME_SH = `上期所` //上期所->18
  126. DATA_SOURCE_NAME_CFFEX = `中金所` //中金所->19
  127. DATA_SOURCE_NAME_SHFE = `上期能源` //上期能源->20
  128. DATA_SOURCE_NAME_GIE = `欧洲天然气` //欧洲天然气->21
  129. DATA_SOURCE_NAME_CALCULATE_TIME_SHIFT = `时间移位` //时间移位->22
  130. DATA_SOURCE_NAME_CALCULATE_ZJPJ = `直接拼接` //直接拼接->23
  131. DATA_SOURCE_NAME_CALCULATE_LJZTBPJ = `累计值同比拼接` //累计值同比拼接->24
  132. DATA_SOURCE_NAME_LT = `路透` //路透->25
  133. DATA_SOURCE_NAME_COAL = `中国煤炭网` //煤炭网->26
  134. DATA_SOURCE_NAME_PYTHON = `代码运算` //python代码->27
  135. DATA_SOURCE_NAME_PB_FINANCE = `彭博财务` //彭博财务数据->28
  136. DATA_SOURCE_NAME_GOOGLE_TRAVEL = `our world in data` //谷歌出行数据->29
  137. DATA_SOURCE_NAME_PREDICT = `预测指标` //普通预测指标->30
  138. DATA_SOURCE_NAME_PREDICT_CALCULATE = `预测指标运算` //预测指标运算->31
  139. DATA_SOURCE_NAME_PREDICT_CALCULATE_TBZ = `预测同比` //预测指标 - 同比值->32
  140. DATA_SOURCE_NAME_PREDICT_CALCULATE_TCZ = `预测同差` //预测指标 - 同差值->33
  141. DATA_SOURCE_NAME_MYSTEEL_CHEMICAL = `钢联化工` //钢联化工->34
  142. DATA_SOURCE_NAME_CALCULATE_CJJX = `超季节性` //超季节性->35
  143. DATA_SOURCE_NAME_EIA_STEO = `EIA STERO报告` //eia stero报告->36
  144. DATA_SOURCE_NAME_CALCULATE_NHCC = `拟合残差` //计算指标(拟合残差)->37
  145. DATA_SOURCE_NAME_COM_TRADE = `UN` //联合国商品贸易数据->38
  146. DATA_SOURCE_NAME_PREDICT_CALCULATE_NSZYDPJJS = `预测N数值移动平均计算` //预测指标 - N数值移动平均计算 -> 39
  147. DATA_SOURCE_NAME_CALCULATE_ADJUST = `数据调整` //数据调整->40
  148. DATA_SOURCE_NAME_SCI = `SCI` //卓创数据(红桃三)->41
  149. DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZZY = `预测累计值转月值` //预测指标 - 累计值转月->42
  150. DATA_SOURCE_NAME_PREDICT_CALCULATE_HBZ = `预测环比值` //预测指标 - 环比值->43
  151. DATA_SOURCE_NAME_PREDICT_CALCULATE_HCZ = `预测环差值` //预测指标 - 环差值->44
  152. DATA_SOURCE_NAME_PREDICT_CALCULATE_BP = `预测升频` //预测指标 - 升频->45
  153. DATA_SOURCE_NAME_PREDICT_CALCULATE_TIME_SHIFT = `预测时间移位` //预测指标 - 时间移位->46
  154. DATA_SOURCE_NAME_PREDICT_CALCULATE_ZJPJ = `预测直接拼接` //预测指标 - 直接拼接->47
  155. DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZTBPJ = `预测累计值同比拼接` //预测指标 - 累计值同比拼接->48
  156. DATA_SOURCE_NAME_PREDICT_CALCULATE_CJJX = `预测超季节性` //预测指标 - 超季节性->49
  157. DATA_SOURCE_NAME_PREDICT_CALCULATE_NHCC = `预测拟合残差` //预测指标 - 计算指标(拟合残差)->50
  158. DATA_SOURCE_NAME_CALCULATE_JP = `降频` //降频->51
  159. DATA_SOURCE_NAME_CALCULATE_NH = `年化` //年化->52
  160. DATA_SOURCE_NAME_CALCULATE_KSZS = `扩散指数` //扩散指数->53
  161. DATA_SOURCE_NAME_PREDICT_CALCULATE_JP = `预测降频` //预测指标 - 计算指标(降频)->54
  162. DATA_SOURCE_NAME_PREDICT_CALCULATE_NH = `预测年化` //预测指标 - 计算指标(年化)->55
  163. DATA_SOURCE_NAME_PREDICT_CALCULATE_KSZS = `预测扩散指数` //预测指标 - 计算指标(扩散指数)->56
  164. DATA_SOURCE_NAME_BAIINFO = `百川盈孚` //百川盈孚 ->57
  165. DATA_SOURCE_NAME_STOCK_PLANT = `存量装置` //存量装置 ->58
  166. DATA_SOURCE_NAME_CALCULATE_CORRELATION = `相关性计算` //相关性计算->59
  167. DATA_SOURCE_NAME_NATIONAL_STATISTICS = `国家统计局` //国家统计局->60
  168. DATA_SOURCE_NAME_CALCULATE_LJZZJ = `累计值转季值` //累计值转季 -> 61
  169. DATA_SOURCE_NAME_CALCULATE_LJZ = `累计值` //累计值 -> 62
  170. DATA_SOURCE_NAME_CALCULATE_LJZNCZJ = `年初至今累计值` //累计值(年初至今) -> 63
  171. DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZZJ = `预测累计值转季值` //预测指标 - 累计值转季->64
  172. DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZ = `预测累计值` //预测指标 - 累计值 -> 65
  173. DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZNCZJ = `预测年初至今累计值` //预测指标 - 累计值(年初至今) -> 66
  174. DATA_SOURCE_NAME_CALCULATE_STANDARD_DEVIATION = `标准差` //标准差->67
  175. DATA_SOURCE_NAME_CALCULATE_PERCENTILE = `百分位` //百分位->68
  176. DATA_SOURCE_NAME_PREDICT_CALCULATE_STANDARD_DEVIATION = `预测标准差` //预测标准差->69
  177. DATA_SOURCE_NAME_PREDICT_CALCULATE_PERCENTILE = `预测百分位` //预测百分位->70
  178. DATA_SOURCE_NAME_FUBAO = `富宝数据` //富宝数据->71
  179. )
  180. // 基础数据初始化日期
  181. var (
  182. BASE_START_DATE = time.Now().AddDate(-30, 0, 0).Format(FormatDate) //基础数据开始日期
  183. BASE_END_DATE = time.Now().AddDate(4, 0, 0).Format(FormatDate) //基础数据结束日期
  184. BASE_START_DATE_UnSpace = time.Now().AddDate(-30, 0, 0).Format(FormatDateUnSpace) //基础数据开始日期
  185. BASE_END_DATE_UnSpace = time.Now().AddDate(4, 0, 0).Format(FormatDateUnSpace) //基础数据结束日期
  186. )
  187. const (
  188. DATA_PREFIX = "hz_data"
  189. CHART_PREFIX = "hz_chart"
  190. )
  191. // 数据刷新频率
  192. const (
  193. DATA_REFRESH = 7 //7个单位,日/周/月/季度/年
  194. DATA_END_DATE_LIMIT = 4 //数据结束日期为,当前日期,加上4年时间
  195. )
  196. const (
  197. CACHE_EDB_DATA_ADD = "CACHE_EDB_DATA_ADD_"
  198. CACHE_EDB_DATA_REFRESH = "CACHE_EDB_DATA_REFRESH_"
  199. CACHE_WIND_URL = "CACHE_WIND_URL"
  200. CACHE_CHART_INFO_DATA = "eta_forum:chart:info:data:" //图表数据
  201. CACHE_STOCK_PLANT_CALCULATE = "CACHE_STOCK_PLANT_CALCULATE_" // 库存装置减产计算
  202. )
  203. // 图表样式类型
  204. const (
  205. CHART_TYPE_CURVE = 1 //曲线图
  206. CHART_TYPE_SEASON = 2 //季节性图
  207. CHART_TYPE_BAR = 7 //柱形图
  208. CHART_TYPE_SECTION_SCATTER = 10 //截面散点图样式
  209. CHART_TYPE_RADAR = 11 //雷达图
  210. CHART_TYPE_SECTION_COMBINE = 14 //截面组合图
  211. )
  212. // 图表类型
  213. const (
  214. CHART_SOURCE_DEFAULT = 1
  215. CHART_SOURCE_FUTURE_GOOD = 2
  216. CHART_SOURCE_CORRELATION = 3 // 相关性图表
  217. CHART_SOURCE_ROLLING_CORRELATION = 4 // 滚动相关性图表
  218. CHART_SOURCE_FUTURE_GOOD_PROFIT = 5 // 商品利润曲线
  219. CHART_SOURCE_LINE_EQUATION = 6 // 拟合方程图表
  220. CHART_SOURCE_LINE_FEATURE_STANDARD_DEVIATION = 7 // 统计特征-标准差图表
  221. CHART_SOURCE_LINE_FEATURE_PERCENTILE = 8 // 统计特征-百分位图表
  222. CHART_SOURCE_LINE_FEATURE_FREQUENCY = 9 // 统计特征-频率分布图表
  223. CHART_SOURCE_CROSS_HEDGING = 10 // 跨品种分析图表
  224. )
  225. // MonthQuarterMap 月份与季度的map
  226. var MonthQuarterMap = map[int]int{
  227. 1: 1,
  228. 2: 1,
  229. 3: 1,
  230. 4: 2,
  231. 5: 2,
  232. 6: 2,
  233. 7: 3,
  234. 8: 3,
  235. 9: 3,
  236. 10: 4,
  237. 11: 4,
  238. 12: 4,
  239. }
  240. // FrequencyDaysMap 频度日期的map关系
  241. var FrequencyDaysMap = map[string]int{
  242. "天": 1, "周": 7, "月": 30, "季": 90, "年": 365,
  243. }
  244. const (
  245. CACHE_CRM_AUTH_CODE_PREFIX = "eta_forum:crm_auth_code:" // 免密登录Code-CRM
  246. CACHE_FORUM_AUTH_CODE_PREFIX = "eta_forum:forum_auth_code:" // 免密登录Code-ETA
  247. )
  248. // 手机号,电子邮箱正则
  249. const (
  250. RegularMobile = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0-9])|(17[0-9])|(16[0-9])|(19[0-9]))\\d{8}$" //手机号码
  251. RegularEmail = `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱
  252. )
  253. // DataSourceEnMap 指标来源的英文名称
  254. var DataSourceEnMap = map[int]string{
  255. DATA_SOURCE_WIND: "Wind",
  256. DATA_SOURCE_THS: "iFind",
  257. DATA_SOURCE_PB: "Bloomberg",
  258. DATA_SOURCE_PB_FINANCE: "Bloomberg Finance",
  259. DATA_SOURCE_LT: "Reuters",
  260. DATA_SOURCE_MANUAL: "Horizon Insights",
  261. DATA_SOURCE_LZ: "OilChem",
  262. DATA_SOURCE_YS: "SMM",
  263. DATA_SOURCE_GL: "MySteel",
  264. DATA_SOURCE_ZZ: "Zhengzhou Commodity Exchange",
  265. DATA_SOURCE_DL: "Dalian Commodity Exchange",
  266. DATA_SOURCE_SH: "Shanghai Futures Exchange",
  267. DATA_SOURCE_CFFEX: "China Financial Futures Exchange",
  268. DATA_SOURCE_SHFE: "Shanghai International Energy Exchange",
  269. DATA_SOURCE_GIE: "Eurostat",
  270. DATA_SOURCE_COAL: "China Coal Transport & Distribution Association",
  271. DATA_SOURCE_GOOGLE_TRAVEL: "Our World in Data",
  272. DATA_SOURCE_EIA_STEO: "Energy Information Administration",
  273. DATA_SOURCE_COM_TRADE: "United Nations",
  274. DATA_SOURCE_SCI: "Sublime China Information",
  275. DATA_SOURCE_BAIINFO: "BAIINFO",
  276. DATA_SOURCE_MYSTEEL_CHEMICAL: "Horizon Insights",
  277. DATA_SOURCE_FUBAO: "FuBao",
  278. }