base_from_trade_index.go 32 KB

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