trade_guangzhou.go 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type TradeGuangZhou struct {
  7. Code string `json:"code"`
  8. Msg string `json:"msg"`
  9. Param struct {
  10. TradeDate []string `json:"trade_date"`
  11. TradeType []string `json:"trade_type"`
  12. } `json:"param"`
  13. Data []struct {
  14. Variety string `json:"variety"`
  15. DiffI int `json:"diffI"`
  16. High int `json:"high"`
  17. Turnover float64 `json:"turnover"`
  18. ImpliedVolatility interface{} `json:"impliedVolatility"`
  19. Diff int `json:"diff"`
  20. Delta interface{} `json:"delta"`
  21. Close int `json:"close"`
  22. Diff1 int `json:"diff1"`
  23. LastClear int `json:"lastClear"`
  24. Open int `json:"open"`
  25. MatchQtySum int `json:"matchQtySum"`
  26. DelivMonth string `json:"delivMonth"`
  27. Low int `json:"low"`
  28. ClearPrice int `json:"clearPrice"`
  29. VarietyOrder string `json:"varietyOrder"`
  30. OpenInterest int `json:"openInterest"`
  31. Volumn int `json:"volumn"`
  32. } `json:"data"`
  33. Time int64 `json:"time"`
  34. }
  35. type BaseFromTradeGuangzhouClassify struct {
  36. BaseFromTradeGuangzhouClassifyId int `orm:"column(base_from_trade_guangzhou_classify_id);pk"`
  37. ClassifyName string `description:"分类名称"`
  38. ClassifyCode string `description:"分类编码"`
  39. ParentId int `description:"分类父级id"`
  40. ModifyTime time.Time `description:"修改时间"`
  41. CreateTime time.Time `description:"创建时间"`
  42. }
  43. type BaseFromTradeGuangzhouIndex struct {
  44. BaseFromTradeGuangzhouIndexId int `orm:"column(base_from_trade_guangzhou_index_id);pk"`
  45. BaseFromTradeGuangzhouClassifyId int `description:"分类id"`
  46. IndexCode string `description:"指标编码"`
  47. IndexName string `description:"指标名称"`
  48. Frequency string `description:"频率"`
  49. Unit string `description:"单位"`
  50. StartDate string `description:"开始日期"`
  51. EndDate string `description:"结束日期"`
  52. CreateTime time.Time `description:"创建日期"`
  53. ModifyTime time.Time `description:"修改日期"`
  54. }
  55. type BaseFromTradeGuangzhouData struct {
  56. BaseFromTradeGuangzhouDataId int `orm:"column(base_from_trade_guangzhou_data_id);pk"`
  57. BaseFromTradeGuangzhouIndexId int `description:"指标id"`
  58. IndexCode string `description:"指标编码"`
  59. DataTime string `description:"数据日期"`
  60. Value float64 `description:"数据值"`
  61. QtySub float64 `description:"增减"`
  62. CreateTime time.Time `description:"创建日期"`
  63. ModifyTime time.Time `description:"修改日期"`
  64. }
  65. func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouClassifyAll(parentId int) (list []*BaseFromTradeGuangzhouClassify, err error) {
  66. o := orm.NewOrmUsingDB("data")
  67. sql := `SELECT * FROM base_from_trade_guangzhou_classify WHERE parent_id=? `
  68. _, err = o.Raw(sql, parentId).QueryRows(&list)
  69. return list, err
  70. }
  71. func (obj *BaseFromTradeGuangzhouIndex) AddBaseFromTradeGuangzhouIndex() (lastId int64, err error) {
  72. o := orm.NewOrmUsingDB("data")
  73. lastId, err = o.Insert(obj)
  74. return
  75. }
  76. func (obj *BaseFromTradeGuangzhouIndex) AddBaseFromTradeGuangzhouClassify(classifyItem *BaseFromTradeGuangzhouClassify) (lastId int64, err error) {
  77. o := orm.NewOrmUsingDB("data")
  78. lastId, err = o.Insert(classifyItem)
  79. return
  80. }
  81. func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouIndexAll() (list []*BaseFromTradeGuangzhouIndex, err error) {
  82. o := orm.NewOrmUsingDB("data")
  83. sql := ` SELECT * FROM base_from_trade_guangzhou_index `
  84. _, err = o.Raw(sql).QueryRows(&list)
  85. return list, err
  86. }
  87. func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouDataByDate(date string) (list []*BaseFromTradeGuangzhouData, err error) {
  88. o := orm.NewOrmUsingDB("data")
  89. sql := ` SELECT * FROM base_from_trade_guangzhou_data WHERE data_time=? `
  90. _, err = o.Raw(sql, date).QueryRows(&list)
  91. return list, err
  92. }
  93. func (obj *BaseFromTradeGuangzhouIndex) AddBaseFromTradeGuangzhouData(dataList []*BaseFromTradeGuangzhouData) (err error) {
  94. o := orm.NewOrmUsingDB("data")
  95. _, err = o.InsertMulti(len(dataList), &dataList)
  96. return
  97. }
  98. // 修改
  99. func (obj *BaseFromTradeGuangzhouIndex) UpdateGuangzhouData(updateParams, whereParam map[string]interface{}) (err error) {
  100. to := orm.NewOrmUsingDB("data")
  101. ptrStructOrTableName := "base_from_trade_guangzhou_data"
  102. qs := to.QueryTable(ptrStructOrTableName)
  103. for expr, exprV := range whereParam {
  104. qs = qs.Filter(expr, exprV)
  105. }
  106. _, err = qs.Update(updateParams)
  107. return
  108. }
  109. // 合约
  110. type GuangzhouContract struct {
  111. Code string `json:"code"`
  112. Msg string `json:"msg"`
  113. Param struct {
  114. Variety []string `json:"variety"`
  115. TradeDate []string `json:"trade_date"`
  116. } `json:"param"`
  117. Data []string `json:"data"`
  118. Time int64 `json:"time"`
  119. }
  120. type BaseFromTradeGuangzhouContract struct {
  121. BaseFromTradeGuangzhouContractId int `orm:"column(base_from_trade_guangzhou_contract_id);pk"`
  122. BaseFromTradeGuangzhouClassifyId int `description:"分类id"`
  123. ClassifyCode string `description:"分类编码"`
  124. Contract string `description:"合约编码"`
  125. TradeDate string `description:"合约日期"`
  126. }
  127. // 新增合约
  128. func (obj *BaseFromTradeGuangzhouIndex) AddBaseFromTradeGuangzhouContract(item *BaseFromTradeGuangzhouContract) (err error) {
  129. o := orm.NewOrmUsingDB("data")
  130. _, err = o.Insert(item)
  131. return
  132. }
  133. // 获取所有合约
  134. func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouContract(tradeDate string) (list []*BaseFromTradeGuangzhouContract, err error) {
  135. o := orm.NewOrmUsingDB("data")
  136. if tradeDate != "" {
  137. sql := ` SELECT * FROM base_from_trade_guangzhou_contract WHERE trade_date=? `
  138. _, err = o.Raw(sql, tradeDate).QueryRows(&list)
  139. return
  140. } else {
  141. sql := ` SELECT * FROM base_from_trade_guangzhou_contract `
  142. _, err = o.Raw(sql).QueryRows(&list)
  143. return
  144. }
  145. }
  146. // 广州交易所期货-日成交持仓排名
  147. type GuangzhouDealPosiQuotes struct {
  148. Code string `json:"code"`
  149. Msg string `json:"msg"`
  150. Param struct {
  151. TradeDate []string `json:"trade_date"`
  152. TradeType []string `json:"trade_type"`
  153. Variety []string `json:"variety"`
  154. ContractId []string `json:"contract_id"`
  155. DataType []string `json:"data_type"`
  156. } `json:"param"`
  157. Data []struct {
  158. ContractId string `json:"contractId"`
  159. MemberId string `json:"memberId"`
  160. Abbr string `json:"abbr"`
  161. TodayQty int `json:"todayQty"`
  162. QtySub int `json:"qtySub"`
  163. CpFlag interface{} `json:"cpFlag"`
  164. } `json:"data"`
  165. Time int64 `json:"time"`
  166. }
  167. type GuangzhouWbillQty struct {
  168. Code string `json:"code"`
  169. Msg string `json:"msg"`
  170. Param struct {
  171. GenDate []string `json:"gen_date"`
  172. Variety []string `json:"variety"`
  173. } `json:"param"`
  174. Data []struct {
  175. VarietyOrder string `json:"varietyOrder"`
  176. GroupCodeOrder *string `json:"groupCodeOrder"`
  177. WhCodeOrder string `json:"whCodeOrder"`
  178. WhType string `json:"whType"`
  179. Variety string `json:"variety"`
  180. GenDate string `json:"genDate"`
  181. WhAbbr string `json:"whAbbr"`
  182. LastWbillQty int `json:"lastWbillQty"`
  183. RegWbillQty int `json:"regWbillQty"`
  184. LogoutWbillQty int `json:"logoutWbillQty"`
  185. WbillQty int `json:"wbillQty"`
  186. Diff int `json:"diff"`
  187. } `json:"data"`
  188. Time int64 `json:"time"`
  189. }
  190. type GuangzhouCongregateDeliveryQuotes struct {
  191. Code string `json:"code"`
  192. Msg string `json:"msg"`
  193. Param struct {
  194. ContractMonth []string `json:"contract_month"`
  195. } `json:"param"`
  196. Data []struct {
  197. VarietyId string `json:"varietyId"`
  198. VarietyName string `json:"varietyName"`
  199. ContractId string `json:"contractId"`
  200. WhName string `json:"whName"`
  201. WbillNum int `json:"wbillNum"`
  202. } `json:"data"`
  203. Time int64 `json:"time"`
  204. }