base_from_trade_index.go 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. package data_manage
  2. import (
  3. "eta/eta_hub/global"
  4. "eta/eta_hub/utils"
  5. "fmt"
  6. "github.com/beego/beego/v2/client/orm"
  7. "github.com/rdlucklib/rdluck_tools/paging"
  8. "time"
  9. )
  10. type BaseFromTradeShanghaiIndex struct {
  11. BaseFromTradeShangHaiIndexId int `orm:"column(base_from_trade_shanghai_index_id);pk"`
  12. Rank int
  13. DealShortName string
  14. DealName string
  15. DealCode string
  16. DealValue string
  17. DealChange string
  18. BuyShortName string
  19. BuyName string
  20. BuyCode string
  21. BuyValue string
  22. BuyChange string
  23. SoldShortName string
  24. SoldName string
  25. SoldCode string
  26. SoldValue string
  27. SoldChange string
  28. Frequency string
  29. ClassifyName string
  30. ClassifyType string
  31. CreateTime time.Time
  32. ModifyTime time.Time
  33. DataTime string
  34. }
  35. type BaseFromTradeCffexIndex struct {
  36. BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk"`
  37. Rank int
  38. DealShortName string
  39. DealName string
  40. DealCode string
  41. DealValue string
  42. DealChange string
  43. BuyShortName string
  44. BuyName string
  45. BuyCode string
  46. BuyValue string
  47. BuyChange string
  48. SoldShortName string
  49. SoldName string
  50. SoldCode string
  51. SoldValue string
  52. SoldChange string
  53. Frequency string
  54. ClassifyName string
  55. ClassifyType string
  56. CreateTime time.Time
  57. ModifyTime time.Time
  58. DataTime string
  59. }
  60. type BaseFromTradeIneIndex struct {
  61. BaseFromTradeIneIndexId int `orm:"column(base_from_trade_ine_index_id);pk"`
  62. Rank int
  63. DealShortName string
  64. DealName string
  65. DealCode string
  66. DealValue string
  67. DealChange string
  68. BuyShortName string
  69. BuyName string
  70. BuyCode string
  71. BuyValue string
  72. BuyChange string
  73. SoldShortName string
  74. SoldName string
  75. SoldCode string
  76. SoldValue string
  77. SoldChange string
  78. Frequency string
  79. ClassifyName string
  80. ClassifyType string
  81. CreateTime time.Time
  82. ModifyTime time.Time
  83. DataTime string
  84. }
  85. type BaseFromTradeZhengzhouIndex struct {
  86. BaseFromTradeZhengzhouIndexId int `orm:"column(base_from_trade_zhengzhou_index_id);pk"`
  87. Rank int
  88. DealShortName string
  89. DealName string
  90. DealCode string
  91. DealValue string
  92. DealChange string
  93. BuyShortName string
  94. BuyName string
  95. BuyCode string
  96. BuyValue string
  97. BuyChange string
  98. SoldShortName string
  99. SoldName string
  100. SoldCode string
  101. SoldValue string
  102. SoldChange string
  103. Frequency string
  104. ClassifyName string
  105. ClassifyType string
  106. CreateTime time.Time
  107. ModifyTime time.Time
  108. DataTime string
  109. }
  110. type BaseFromTradeDalianIndex struct {
  111. BaseFromTradeDalianIndexId int `orm:"column(base_from_trade_dalian_index_id);pk"`
  112. Rank int
  113. DealShortName string
  114. DealName string
  115. DealCode string
  116. DealValue string
  117. DealChange string
  118. BuyShortName string
  119. BuyName string
  120. BuyCode string
  121. BuyValue string
  122. BuyChange string
  123. SoldShortName string
  124. SoldName string
  125. SoldCode string
  126. SoldValue string
  127. SoldChange string
  128. Frequency string
  129. ClassifyName string
  130. ClassifyType string
  131. CreateTime time.Time
  132. ModifyTime time.Time
  133. DataTime string
  134. }
  135. type BaseFromTradeEicIndex struct {
  136. BaseFromEicIndexId int `orm:"column(base_from_eic_index_id);pk"`
  137. Country string
  138. Type string
  139. EicCode string
  140. ShortName string
  141. Name string
  142. Status string
  143. GasDayStartedOn string
  144. GasInStorage string
  145. GasInStorageCode string
  146. Full string
  147. FullCode string
  148. Trend string
  149. TrendCode string
  150. Injection string
  151. InjectionCode string
  152. Withdrawal string
  153. WithdrawalCode string
  154. WorkingGasVolume string
  155. WorkingGasVolumeCode string
  156. InjectionCapacity string
  157. InjectionCapacityCode string
  158. WithdrawalCapacity string
  159. WithdrawalCapacityCode string
  160. Info string
  161. CreateTime time.Time
  162. ModifyTime time.Time
  163. }
  164. func GetBaseFromTradeIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeShanghaiIndex, err error) {
  165. //o := orm.NewOrmUsingDB("data")
  166. if classifyName == "" {
  167. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=?"
  168. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&list).Error
  169. return
  170. } else if classifyType == "" {
  171. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? ORDER BY classify_type,rank"
  172. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName).Find(&list).Error
  173. return
  174. } else {
  175. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? and classify_type=?"
  176. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName, classifyType).Find(&list).Error
  177. return
  178. }
  179. }
  180. func GetBaseFromTradeIneIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeIneIndex, err error) {
  181. //o := orm.NewOrmUsingDB("data")
  182. if classifyName == "" {
  183. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=?"
  184. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&list).Error
  185. return
  186. } else if classifyType == "" {
  187. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? ORDER BY classify_type,rank"
  188. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName).Find(&list).Error
  189. return
  190. } else {
  191. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? and classify_type=?"
  192. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName, classifyType).Find(&list).Error
  193. return
  194. }
  195. }
  196. func GetBaseFromTradeCffexIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeCffexIndex, err error) {
  197. //o := orm.NewOrmUsingDB("data")
  198. if classifyName == "" {
  199. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=?"
  200. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&list).Error
  201. return
  202. } else if classifyType == "" {
  203. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? ORDER BY classify_type,rank"
  204. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName).Find(&list).Error
  205. return
  206. } else {
  207. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? and classify_type=?"
  208. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName, classifyType).Find(&list).Error
  209. return
  210. }
  211. }
  212. func GetBaseFromTradeZhengzhouIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeZhengzhouIndex, err error) {
  213. //o := orm.NewOrmUsingDB("data")
  214. if classifyName == "" {
  215. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=?"
  216. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&list).Error
  217. return
  218. } else if classifyType == "" {
  219. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? ORDER BY classify_type,rank"
  220. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName).Find(&list).Error
  221. return
  222. } else {
  223. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? and classify_type=?"
  224. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName, classifyType).Find(&list).Error
  225. return
  226. }
  227. }
  228. func GetBaseFromTradeDalianIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeDalianIndex, err error) {
  229. //o := orm.NewOrmUsingDB("data")
  230. if classifyName == "" {
  231. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=?"
  232. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&list).Error
  233. return
  234. } else if classifyType == "" {
  235. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? ORDER BY classify_type,rank"
  236. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName).Find(&list).Error
  237. return
  238. } else {
  239. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? and classify_type=?"
  240. err = global.DbMap[utils.DbNameIndex].Raw(sql, date, classifyName, classifyType).Find(&list).Error
  241. return
  242. }
  243. }
  244. func GetExchangeClassify(exchange, dataTime string) (classifyName []string, err error) {
  245. //o := orm.NewOrmUsingDB("data")
  246. sql := "SELECT DISTINCT classify_name FROM base_from_trade_" + exchange + "_index where data_time=? ORDER BY CONVERT(classify_name using gbk) DESC"
  247. err = global.DbMap[utils.DbNameIndex].Raw(sql, dataTime).Find(&classifyName).Error
  248. return
  249. }
  250. func GetLatestDate(exchange string) (dataTime string, err error) {
  251. //o := orm.NewOrmUsingDB("data")
  252. sql := "SELECT data_time FROM base_from_trade_" + exchange + "_index ORDER BY data_time desc limit 1"
  253. err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&dataTime).Error
  254. return
  255. }
  256. func GetExchangeClassifyContract(exchange, Classify, dataTime string) (classifyName []*string, err error) {
  257. //o := orm.NewOrmUsingDB("data")
  258. sql := "SELECT DISTINCT classify_type FROM base_from_trade_" + exchange + "_index where classify_name=? and data_time=?"
  259. err = global.DbMap[utils.DbNameIndex].Raw(sql, Classify, dataTime).Find(&classifyName).Error
  260. return
  261. }
  262. func GetContinentEicDate(date string) (data []*BaseFromTradeEicIndex, err error) {
  263. //o := orm.NewOrmUsingDB("data")
  264. sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and type='continent' "
  265. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&data).Error
  266. return
  267. }
  268. func GetCountryEicDate(date string) (data []*BaseFromTradeEicIndex, err error) {
  269. o := orm.NewOrmUsingDB("data")
  270. sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and type='country' "
  271. _, err = o.Raw(sql, date).QueryRows(&data)
  272. return
  273. }
  274. func GetSSOEicDate(date, country string) (data []*BaseFromTradeEicIndex, err error) {
  275. o := orm.NewOrmUsingDB("data")
  276. sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and country=? and type='SSO' "
  277. _, err = o.Raw(sql, date, country).QueryRows(&data)
  278. return
  279. }
  280. func GetStorageEicDate(date, country string) (data []*BaseFromTradeEicIndex, err error) {
  281. o := orm.NewOrmUsingDB("data")
  282. sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and country=? " +
  283. " and (type='Storage Facility' or type='Storage Group') "
  284. _, err = o.Raw(sql, date, country).QueryRows(&data)
  285. return
  286. }
  287. func GetEicDate() (date []*BaseFromTradeEicIndex, err error) {
  288. o := orm.NewOrmUsingDB("data")
  289. sql := "SELECT * FROM base_from_trade_eic_index ORDER BY gas_day_started_on desc limit 1"
  290. _, err = o.Raw(sql).QueryRows(&date)
  291. return
  292. }
  293. func GetEicHistoryDate(code string) (date []*BaseFromTradeEicIndex, err error) {
  294. o := orm.NewOrmUsingDB("data")
  295. sql := "SELECT * FROM base_from_trade_eic_index WHERE eic_code=? ORDER BY gas_day_started_on desc limit 30"
  296. _, err = o.Raw(sql, code).QueryRows(&date)
  297. return
  298. }
  299. func GetEicHistoryDateByDate(code, startDate, endDate string) (date []*BaseFromTradeEicIndex, err error) {
  300. o := orm.NewOrmUsingDB("data")
  301. sql := "SELECT * FROM base_from_trade_eic_index WHERE eic_code=? and gas_day_started_on between ? and ? ORDER BY gas_day_started_on desc"
  302. _, err = o.Raw(sql, code, startDate, endDate).QueryRows(&date)
  303. return
  304. }
  305. type BaseFromCoalmineJsmIndex struct {
  306. BaseFromCoalmineJsmIndexId int `orm:"column(base_from_coalmine_jsm_index_id);pk"`
  307. IndexName string `description:"持买单量指标名称"`
  308. IndexCode string `description:"持买单量指标编码"`
  309. Exchange string `description:"样本统计类别"`
  310. DealValue string `description:"成交量"`
  311. DataTime string `description:"数据日期"`
  312. Source string `description:"来源"`
  313. Province string `description:"省份"`
  314. Description string `description:"描述"`
  315. Unit string `description:"单位"`
  316. Frequency string `description:"频率"`
  317. CreateTime string `description:"插入时间"`
  318. ModifyTime string `description:"修改时间"`
  319. }
  320. // GetBaseFromCoalmineIndex 查询数据
  321. func GetBaseFromCoalmineIndex(startDate, endDate string) (items []*BaseFromCoalmineJsmIndex, err error) {
  322. o := orm.NewOrmUsingDB("data")
  323. sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE data_time between ? and ? `
  324. _, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
  325. return
  326. }
  327. type BaseFromCoalmineCompanyIndex struct {
  328. BaseFromCoalmineCompanyIndexId int `orm:"column(base_from_coalmine_company_index_id);pk"`
  329. IndexName string `description:"持买单量指标名称"`
  330. IndexCode string `description:"持买单量指标编码"`
  331. DealValue string `description:"成交量"`
  332. DataTime string `description:"数据日期"`
  333. Source string `description:"来源"`
  334. Province string `description:"省份"`
  335. City string `description:"城市"`
  336. GroupName string `description:"集团名称"`
  337. Unit string `description:"单位"`
  338. Frequency string `description:"频率"`
  339. CreateTime string `description:"插入时间"`
  340. ModifyTime string `description:"修改时间"`
  341. }
  342. // GetBaseFromCoalmineCompanyIndex 查询公司指标
  343. func GetBaseFromCoalmineCompanyIndex(startDate, endDate string) (items []*BaseFromCoalmineCompanyIndex, err error) {
  344. o := orm.NewOrmUsingDB("data")
  345. sql := `SELECT * FROM base_from_coalmine_company_index WHERE data_time between ? and ? `
  346. _, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
  347. return
  348. }
  349. // BaseFromCoalmineFirmIndex 煤矿产量周度公司数据表
  350. type BaseFromCoalmineFirmIndex struct {
  351. BaseFromCoalmineFirmIndexID int `orm:"column(base_from_coalmine_firm_index_id);pk"`
  352. IndexName string // 省份/企业名称
  353. IndexCode string // 持买单量指标编码
  354. DataTime string // 指标时间
  355. DealValue string // 数据量
  356. GroupName string // 集团名
  357. Source string // 来源
  358. Unit string // 来源
  359. Frequency string `description:"频率"`
  360. CreateTime string `description:"插入时间"`
  361. ModifyTime string `description:"修改时间"`
  362. }
  363. // 查询指标
  364. func GetBaseFromCoalmineFirmIndex(dataTime string) (items []*BaseFromCoalmineFirmIndex, err error) {
  365. o := orm.NewOrmUsingDB("data")
  366. sql := `SELECT * FROM base_from_coalmine_firm_index WHERE data_time LIKE `
  367. sql = sql + "'" + dataTime + "%" + "'"
  368. _, err = o.Raw(sql).QueryRows(&items)
  369. fmt.Println(sql)
  370. return
  371. }
  372. // BaseFromCoalmineCoastalIndex 沿海八省动力煤用户供耗存数据指标表
  373. type BaseFromCoalmineCoastalIndex struct {
  374. BaseFromCoalmineCoastalIndexID int `orm:"column(base_from_coalmine_coastal_index_id);pk"`
  375. IndexName string // 省份/企业名称
  376. IndexCode string // 持买单量指标编码
  377. DataTime string // 指标时间
  378. DealValue string // 数据量
  379. GroupName string // 地区
  380. Source string // 来源
  381. Unit string //单位
  382. Frequency string `description:"频率"`
  383. CreateTime string `description:"插入时间"`
  384. ModifyTime string `description:"修改时间"`
  385. }
  386. // 查询指标
  387. func GetBaseFromCoalmineCoastalIndex(startDate, endDate string) (items []*BaseFromCoalmineCoastalIndex, err error) {
  388. o := orm.NewOrmUsingDB("data")
  389. sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE data_time between ? and ? `
  390. _, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
  391. return
  392. }
  393. // BaseFromCoalmineInlandIndex 内陆动力煤用户供耗存数据指标表
  394. type BaseFromCoalmineInlandIndex struct {
  395. BaseFromCoalmineInlandIndexID int `orm:"column(base_from_coalmine_inland_index_id);pk"`
  396. IndexName string // 省份/企业名称
  397. IndexCode string // 持买单量指标编码
  398. DataTime string // 指标时间
  399. DealValue string // 数据量
  400. GroupName string // 地区
  401. Source string // 来源
  402. Unit string // 来源
  403. Frequency string `description:"频率"`
  404. CreateTime string `description:"插入时间"`
  405. ModifyTime string `description:"修改时间"`
  406. }
  407. // 查询指标
  408. func GetBaseFromCoalmineInlandIndex(startDate, endDate string) (items []*BaseFromCoalmineInlandIndex, err error) {
  409. o := orm.NewOrmUsingDB("data")
  410. sql := `SELECT * FROM base_from_coalmine_inland_index WHERE data_time between ? and ? `
  411. _, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
  412. return
  413. }
  414. type BaseFromCoalmineClassify struct {
  415. ClassifyId int
  416. ClassifyName string
  417. Child []CoalChild
  418. }
  419. type CoalChild struct {
  420. ClassifyId int
  421. ClassifyName string
  422. }
  423. type CoalmineDataResp struct {
  424. IndexName string
  425. IndexCode string // 持买单量指标编码
  426. Unit string // 来源
  427. Frequency string
  428. ModifyTime string
  429. DataList []DataList
  430. }
  431. type CoalmineDataPageResp struct {
  432. IndexName string
  433. IndexCode string // 持买单量指标编码
  434. Unit string // 来源
  435. Frequency string
  436. ModifyTime string
  437. Paging *paging.PagingItem `description:"分页数据"`
  438. DataList []DataList
  439. }
  440. type CoalmineSingalDataResp struct {
  441. IndexName string
  442. IndexCode string // 持买单量指标编码
  443. Unit string // 来源
  444. GroupId int // 二级id
  445. GroupName string // 二级名称
  446. Frequency string
  447. ModifyTime string
  448. ClassifyId int
  449. DataList []DataList
  450. }
  451. type DataList struct {
  452. Value string
  453. DataTime string
  454. }
  455. type FrequencyResp struct {
  456. Frequency int
  457. }
  458. // GetFrequencyFromCoal 获取指标信息
  459. func GetFrequencyFromCoal(suffix string) (list *string, err error) {
  460. o := orm.NewOrmUsingDB("data")
  461. sql := `SELECT DISTINCT frequency FROM base_from_coalmine_%s `
  462. sql = fmt.Sprintf(sql, suffix)
  463. err = o.Raw(sql).QueryRow(&list)
  464. return
  465. }
  466. // 查询数据
  467. func GetBaseFromCoalmineIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineJsmIndex, err error) {
  468. o := orm.NewOrmUsingDB("data")
  469. sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND province=?`
  470. _, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
  471. return
  472. }
  473. // 查询数据
  474. func GetGroupNameFromCoalmineIndex(suffix string) (items []*string, err error) {
  475. o := orm.NewOrmUsingDB("data")
  476. sql := `SELECT DISTINCT group_name FROM base_from_coalmine_%s `
  477. sql = fmt.Sprintf(sql, suffix)
  478. _, err = o.Raw(sql).QueryRows(&items)
  479. return
  480. }
  481. // 查询数据
  482. func GetProvinceFromCoalmineIndex(suffix string) (items []*string, err error) {
  483. o := orm.NewOrmUsingDB("data")
  484. sql := `SELECT DISTINCT province FROM base_from_coalmine_%s `
  485. sql = fmt.Sprintf(sql, suffix)
  486. _, err = o.Raw(sql).QueryRows(&items)
  487. return
  488. }
  489. // 查询数据
  490. func GetClassifyCoalmineIndexByGroupName(groupName string) (items []*string, err error) {
  491. o := orm.NewOrmUsingDB("data")
  492. sql := `SELECT DISTINCT index_code FROM base_from_coalmine_jsm_index WHERE province=? `
  493. _, err = o.Raw(sql, groupName).QueryRows(&items)
  494. return
  495. }
  496. // 查询数据
  497. func GetPageFromCoalmineIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineJsmIndex, err error) {
  498. o := orm.NewOrmUsingDB("data")
  499. sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
  500. _, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
  501. return
  502. }
  503. // 查询数据
  504. func GetCountFromJsm(indexCode string) (item int, err error) {
  505. o := orm.NewOrmUsingDB("data")
  506. sql := `SELECT COUNT(1) FROM base_from_coalmine_jsm_index WHERE index_code=? `
  507. err = o.Raw(sql, indexCode).QueryRow(&item)
  508. return
  509. }
  510. func GetClassifyCompanyByGroupName(groupName string) (items []*string, err error) {
  511. o := orm.NewOrmUsingDB("data")
  512. sql := `SELECT DISTINCT index_code FROM base_from_coalmine_company_index WHERE group_name=? `
  513. _, err = o.Raw(sql, groupName).QueryRows(&items)
  514. return
  515. }
  516. func GetClassifyJsmByGroupName(groupName string) (items []*string, err error) {
  517. o := orm.NewOrmUsingDB("data")
  518. sql := `SELECT DISTINCT index_code FROM base_from_coalmine_jsm_index WHERE province=? `
  519. _, err = o.Raw(sql, groupName).QueryRows(&items)
  520. return
  521. }
  522. // 查询公司指标
  523. func GetPageFromCoalmineCompanyIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCompanyIndex, err error) {
  524. o := orm.NewOrmUsingDB("data")
  525. sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
  526. _, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
  527. return
  528. }
  529. func GetCountFromCompany(indexCode string) (item int, err error) {
  530. o := orm.NewOrmUsingDB("data")
  531. sql := `SELECT COUNT(1) FROM base_from_coalmine_company_index WHERE index_code=? `
  532. err = o.Raw(sql, indexCode).QueryRow(&item)
  533. return
  534. }
  535. func GetCountFromFirm(indexCode string) (item int, err error) {
  536. o := orm.NewOrmUsingDB("data")
  537. sql := `SELECT COUNT(1) FROM base_from_coalmine_firm_index WHERE index_code=? `
  538. err = o.Raw(sql, indexCode).QueryRow(&item)
  539. return
  540. }
  541. func GetClassifyFirmByGroupName(groupName string) (items []*string, err error) {
  542. o := orm.NewOrmUsingDB("data")
  543. sql := `SELECT DISTINCT index_code FROM base_from_coalmine_firm_index WHERE group_name=? `
  544. _, err = o.Raw(sql, groupName).QueryRows(&items)
  545. return
  546. }
  547. // 查询指标
  548. func GetPageFromCoalmineFirmIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineFirmIndex, err error) {
  549. o := orm.NewOrmUsingDB("data")
  550. sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
  551. _, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
  552. return
  553. }
  554. func GetCountFromCoastal(indexCode string) (item int, err error) {
  555. o := orm.NewOrmUsingDB("data")
  556. sql := `SELECT COUNT(1) FROM base_from_coalmine_coastal_index WHERE index_code=? `
  557. err = o.Raw(sql, indexCode).QueryRow(&item)
  558. return
  559. }
  560. func GetClassifyCoastalByGroupName(groupName string) (items []*string, err error) {
  561. o := orm.NewOrmUsingDB("data")
  562. sql := `SELECT DISTINCT index_code FROM base_from_coalmine_coastal_index WHERE group_name=? `
  563. _, err = o.Raw(sql, groupName).QueryRows(&items)
  564. return
  565. }
  566. // 查询指标
  567. func GetPageFromCoalmineCoastalIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCoastalIndex, err error) {
  568. o := orm.NewOrmUsingDB("data")
  569. sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
  570. _, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
  571. return
  572. }
  573. func GetCountFromInland(indexCode string) (item int, err error) {
  574. o := orm.NewOrmUsingDB("data")
  575. sql := `SELECT COUNT(1) FROM base_from_coalmine_inland_index WHERE index_code=? `
  576. err = o.Raw(sql, indexCode).QueryRow(&item)
  577. return
  578. }
  579. func GetClassifyInlandByGroupName(groupName string) (items []*string, err error) {
  580. o := orm.NewOrmUsingDB("data")
  581. sql := `SELECT DISTINCT index_code FROM base_from_coalmine_inland_index WHERE group_name=? `
  582. _, err = o.Raw(sql, groupName).QueryRows(&items)
  583. return
  584. }
  585. // 查询指标
  586. func GetPageFromCoalmineInlandIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineInlandIndex, err error) {
  587. o := orm.NewOrmUsingDB("data")
  588. sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
  589. _, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
  590. return
  591. }
  592. // 查询公司指标
  593. func GetBaseFromCoalmineCompanyIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCompanyIndex, err error) {
  594. o := orm.NewOrmUsingDB("data")
  595. sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND group_name=? `
  596. _, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
  597. return
  598. }
  599. // 查询指标
  600. func GetBaseFromCoalmineFirmIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineFirmIndex, err error) {
  601. o := orm.NewOrmUsingDB("data")
  602. sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND group_name=? `
  603. _, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
  604. return
  605. }
  606. // 查询指标
  607. func GetBaseFromCoalmineCoastalIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCoastalIndex, err error) {
  608. o := orm.NewOrmUsingDB("data")
  609. sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND group_name=? `
  610. _, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
  611. return
  612. }
  613. // 查询指标
  614. func GetBaseFromCoalmineInlandIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineInlandIndex, err error) {
  615. o := orm.NewOrmUsingDB("data")
  616. sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND group_name=? `
  617. _, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
  618. return
  619. }
  620. // 查询数据
  621. func GetBaseFromCoalmineIndexByCode(indexCode string) (items []*BaseFromCoalmineJsmIndex, err error) {
  622. o := orm.NewOrmUsingDB("data")
  623. sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE index_code=?`
  624. _, err = o.Raw(sql, indexCode).QueryRows(&items)
  625. return
  626. }
  627. // 查询公司指标
  628. func GetBaseFromCoalmineCompanyIndexByCode(indexCode string) (items []*BaseFromCoalmineCompanyIndex, err error) {
  629. o := orm.NewOrmUsingDB("data")
  630. sql := `SELECT * FROM base_from_coalmine_company_index WHERE index_code=? `
  631. _, err = o.Raw(sql, indexCode).QueryRows(&items)
  632. return
  633. }
  634. // 查询指标
  635. func GetBaseFromCoalmineFirmIndexByCode(indexCode string) (items []*BaseFromCoalmineFirmIndex, err error) {
  636. o := orm.NewOrmUsingDB("data")
  637. sql := `SELECT * FROM base_from_coalmine_firm_index WHERE index_code=? `
  638. _, err = o.Raw(sql, indexCode).QueryRows(&items)
  639. return
  640. }
  641. // 查询指标
  642. func GetBaseFromCoalmineCoastalIndexByCode(indexCode string) (items []*BaseFromCoalmineCoastalIndex, err error) {
  643. o := orm.NewOrmUsingDB("data")
  644. sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE index_code=? `
  645. _, err = o.Raw(sql, indexCode).QueryRows(&items)
  646. return
  647. }
  648. // 查询指标
  649. func GetBaseFromCoalmineInlandIndexByCode(indexCode string) (items []*BaseFromCoalmineInlandIndex, err error) {
  650. o := orm.NewOrmUsingDB("data")
  651. sql := `SELECT * FROM base_from_coalmine_inland_index WHERE index_code=? `
  652. _, err = o.Raw(sql, indexCode).QueryRows(&items)
  653. return
  654. }
  655. type BaseFromTradeEicIndexV2 struct {
  656. BaseFromEicIndexId int `orm:"column(base_from_eic_index_id);pk"`
  657. Type string
  658. EicCode string
  659. Name string
  660. Status string
  661. GasDayStart string
  662. GasInStorage float64
  663. GasInStorageCode string
  664. Consumption string
  665. ConsumptionCode string
  666. ConsumptionFull string
  667. ConsumptionFullCode string
  668. Full float64
  669. FullCode string
  670. Trend float64
  671. TrendCode string
  672. Injection float64
  673. InjectionCode string
  674. Withdrawal float64
  675. WithdrawalCode string
  676. WorkingGasVolume float64
  677. WorkingGasVolumeCode string
  678. InjectionCapacity float64
  679. InjectionCapacityCode string
  680. WithdrawalCapacity float64
  681. WithdrawalCapacityCode string
  682. Info string
  683. Parent string
  684. CreateTime time.Time
  685. ModifyTime time.Time
  686. Children []BaseFromTradeEicIndexV2
  687. }
  688. func GetEicDateV2() (date []*BaseFromTradeEicIndexV2, err error) {
  689. //o := orm.NewOrmUsingDB("data")
  690. sql := "SELECT * FROM base_from_trade_eic_index_v2 ORDER BY gas_day_start desc limit 1"
  691. err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&date).Error
  692. return
  693. }
  694. func GetEicDataV2(date string) (data []*BaseFromTradeEicIndexV2, err error) {
  695. //o := orm.NewOrmUsingDB("data")
  696. sql := "SELECT * FROM base_from_trade_eic_index_v2 where gas_day_start=? "
  697. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&data).Error
  698. return
  699. }
  700. func GetEicHistoryDateByDateV2(code, startDate, endDate string) (date []*BaseFromTradeEicIndexV2, err error) {
  701. //o := orm.NewOrmUsingDB("data")
  702. sql := "SELECT * FROM base_from_trade_eic_index_v2 WHERE eic_code=? and gas_day_start between ? and ? ORDER BY gas_day_start desc"
  703. err = global.DbMap[utils.DbNameIndex].Raw(sql, code, startDate, endDate).Find(&date).Error
  704. return
  705. }
  706. func GetEicHistoryDateV2(code string) (date []*BaseFromTradeEicIndexV2, err error) {
  707. //o := orm.NewOrmUsingDB("data")
  708. sql := "SELECT * FROM base_from_trade_eic_index_v2 WHERE eic_code=? ORDER BY gas_day_start desc limit 30"
  709. err = global.DbMap[utils.DbNameIndex].Raw(sql, code).Find(&date).Error
  710. return
  711. }
  712. func GetContinentAndCountryEicDateV2(date string) (data []*BaseFromTradeEicIndexV2, err error) {
  713. //o := orm.NewOrmUsingDB("data")
  714. sql := "SELECT * FROM base_from_trade_eic_index_v2 where gas_day_start=? and (type='continent' OR type='country') "
  715. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&data).Error
  716. return
  717. }
  718. func GetSSOAndFacEicDateV2(date, name string) (data []*BaseFromTradeEicIndexV2, err error) {
  719. //o := orm.NewOrmUsingDB("data")
  720. sql := "SELECT * FROM base_from_trade_eic_index_v2 where gas_day_start=? and (type='sso' OR type='fac') "
  721. err = global.DbMap[utils.DbNameIndex].Raw(sql, date).Find(&data).Error
  722. return
  723. }
  724. func GetBaseFromTradeIndexByDate(exchange, startDate, endDate string) (list []*BaseFromTradeShanghaiIndex, err error) {
  725. o := orm.NewOrmUsingDB("data")
  726. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where rank < 50 and data_time between ? and ? order by data_time asc"
  727. _, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
  728. return
  729. }
  730. func GetFirstBaseFromTradeIndexByDate(exchange string) (item *BaseFromTradeShanghaiIndex, err error) {
  731. o := orm.NewOrmUsingDB("data")
  732. sql := "SELECT * FROM base_from_trade_" + exchange + "_index where rank < 50 order by data_time asc"
  733. err = o.Raw(sql).QueryRow(&item)
  734. return
  735. }