constants.go 20 KB

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