|
|
@@ -2,6 +2,7 @@ package models
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
+ "fmt"
|
|
|
"mtp2_if/db"
|
|
|
"time"
|
|
|
|
|
|
@@ -48,6 +49,139 @@ type CycleData struct {
|
|
|
SP int `bson:"SP"` // 结算价,日线周期(包括)以上才有
|
|
|
}
|
|
|
|
|
|
+// Quoteday 行情盘面
|
|
|
+type Quoteday struct {
|
|
|
+ Id int64 `xorm:"pk autoincr BIGINT(20)"`
|
|
|
+ Exchangedate int64 `xorm:"not null BIGINT(20)"`
|
|
|
+ Goodscode string `xorm:"not null unique CHAR(10)"`
|
|
|
+ Exchangecode int `xorm:"INT(11)"`
|
|
|
+ Preclose int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Opentime int64 `xorm:"BIGINT(20)"`
|
|
|
+ Opened int64 `xorm:"not null default 0 BIGINT(20)"`
|
|
|
+ Highest int64 `xorm:"not null default 0 BIGINT(20)"`
|
|
|
+ Lowest int64 `xorm:"not null default 0 BIGINT(20)"`
|
|
|
+ Lasttime string `xorm:"VARCHAR(20)"`
|
|
|
+ Utclasttime int64 `xorm:"not null BIGINT(20)"`
|
|
|
+ Last int64 `xorm:"not null BIGINT(20)"`
|
|
|
+ Lastvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Lastturnover int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Totalbidvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Totalaskvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Totalvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Totalturnover int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Presettle int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Settle int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Preholdvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Holdvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Averageprice int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Orderid int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Limitup int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Limitdown int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Inventory int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Holdincrement int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Iscleared int `xorm:"INT(11)"`
|
|
|
+ Issettled int `xorm:"INT(11)"`
|
|
|
+ Hightime string `xorm:"VARCHAR(30)"`
|
|
|
+ Lowtime string `xorm:"VARCHAR(30)"`
|
|
|
+ Bidqueueinfo string `xorm:"VARCHAR(2000)"`
|
|
|
+ Askqueueinfo string `xorm:"VARCHAR(2000)"`
|
|
|
+ Bidorderid int64 `xorm:"BIGINT(20)"`
|
|
|
+ Bidorderid2 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Bidorderid3 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Bidorderid4 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Bidorderid5 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Askorderid int64 `xorm:"BIGINT(20)"`
|
|
|
+ Askorderid2 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Askorderid3 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Askorderid4 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Askorderid5 int64 `xorm:"BIGINT(20)"`
|
|
|
+ Originalturnover float64 `xorm:"default 0 DOUBLE"`
|
|
|
+ Lastlot int64 `xorm:"BIGINT(20)"`
|
|
|
+ Totallot int64 `xorm:"BIGINT(20)"`
|
|
|
+ Strikeprice int64 `xorm:"BIGINT(20)"`
|
|
|
+ Cleartime int64 `xorm:"BIGINT(20)"`
|
|
|
+ Calloptionpremiums int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Calloptionpremiums2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Calloptionpremiums3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Calloptionpremiums4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Calloptionpremiums5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Putoptionpremiums int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Putoptionpremiums2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Putoptionpremiums3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Putoptionpremiums4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Putoptionpremiums5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Nontotalvolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Nontotalholdervolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Nontotalturnover int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Nontotallot int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Markprice int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Fundsrate int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Publictradetype string `xorm:"VARCHAR(2)"`
|
|
|
+ Iep int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Iev int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Grepmarketprice int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid6 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid7 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid8 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid9 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bid10 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume6 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume7 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume8 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume9 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidvolume10 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask6 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask7 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask8 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask9 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Ask10 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume6 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume7 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume8 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume9 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askvolume10 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume6 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume7 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume8 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume9 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Bidordervolume10 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume2 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume3 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume4 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume5 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume6 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume7 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume8 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume9 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+ Askordervolume10 int64 `xorm:"default 0 BIGINT(20)"`
|
|
|
+}
|
|
|
+
|
|
|
// GetHistoryCycleDatas 获取历史数据
|
|
|
// 参数 cycleType CycleType 周期类型
|
|
|
// 参数 goodsCode string 商品代码
|
|
|
@@ -92,3 +226,18 @@ func GetHistoryCycleDatas(cycleType CycleType, goodsCode string, startTime, endT
|
|
|
|
|
|
return cycleDatas, nil
|
|
|
}
|
|
|
+
|
|
|
+// GetQuoteDays 获取目标商品的盘面数据
|
|
|
+// 参数 goodsCodes string 商品代码字串,以“,”分隔
|
|
|
+// 返回 []Quoteday 盘面数据
|
|
|
+// 返回 error error
|
|
|
+func GetQuoteDays(goodsCodes string) ([]Quoteday, error) {
|
|
|
+ engine := db.GetMySQLEngine()
|
|
|
+
|
|
|
+ datas := make([]Quoteday, 0)
|
|
|
+ if err := engine.Where(fmt.Sprintf("goodscode in ('%s')", goodsCodes)).Find(&datas); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+
|
|
|
+ return datas, nil
|
|
|
+}
|