base_from_trade_index.go 27 KB

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