add model
This commit is contained in:
43
internal/models/last_daily.go
Normal file
43
internal/models/last_daily.go
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
package models
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
// LastDaily 股票日线数据
|
||||||
|
type LastDaily struct {
|
||||||
|
ID uint `gorm:"primarykey;autoIncrement" json:"id"`
|
||||||
|
TsCode string `gorm:"type:varchar(20);not null;index:idx_ts_code;comment:股票代码" json:"ts_code"`
|
||||||
|
TradeDate time.Time `gorm:"type:date;not null;index:idx_trade_date;comment:交易日期" json:"trade_date"`
|
||||||
|
Open float64 `gorm:"type:decimal(10,4);comment:开盘价" json:"open"`
|
||||||
|
High float64 `gorm:"type:decimal(10,4);comment:最高价" json:"high"`
|
||||||
|
Low float64 `gorm:"type:decimal(10,4);comment:最低价" json:"low"`
|
||||||
|
Close float64 `gorm:"type:decimal(10,4);comment:收盘价" json:"close"`
|
||||||
|
PreClose float64 `gorm:"type:decimal(10,4);comment:昨收价(除权价)" json:"pre_close"`
|
||||||
|
Change float64 `gorm:"type:decimal(10,4);comment:涨跌额" json:"change"`
|
||||||
|
PctChg float64 `gorm:"type:decimal(10,6);comment:涨跌幅(%)" json:"pct_chg"`
|
||||||
|
Vol float64 `gorm:"type:decimal(15,2);comment:成交量(手)" json:"vol"`
|
||||||
|
Amount float64 `gorm:"type:decimal(20,2);comment:成交额(千元)" json:"amount"`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
database.AppendMigrate(&LastDaily{})
|
||||||
|
}
|
||||||
|
|
||||||
|
// TableName 指定表名
|
||||||
|
func (LastDaily) TableName() string {
|
||||||
|
return "last_daily"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Indexes 定义复合索引(可选,也可以在migration中创建)
|
||||||
|
func (LastDaily) Indexes() []gorm.Index {
|
||||||
|
return []gorm.Index{
|
||||||
|
&gorm.IndexModel{
|
||||||
|
Name: "idx_ts_code_trade_date",
|
||||||
|
Fields: []string{"ts_code", "trade_date"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
51
internal/models/last_indicator.go
Normal file
51
internal/models/last_indicator.go
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
package models
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
// LastIndicator 股票日线数据模型
|
||||||
|
type LastIndicator struct {
|
||||||
|
ID uint `gorm:"primarykey;autoIncrement"`
|
||||||
|
TsCode string `gorm:"type:varchar(20);not null;comment:TS股票代码;index:idx_ts_code"`
|
||||||
|
TradeDate time.Time `gorm:"type:date;not null;comment:交易日期;index:idx_trade_date;index:idx_ts_trade,priority:2"`
|
||||||
|
Close float64 `gorm:"type:decimal(10,4);comment:当日收盘价"`
|
||||||
|
TurnoverRate float64 `gorm:"type:decimal(10,6);comment:换手率(%)"`
|
||||||
|
TurnoverRateF float64 `gorm:"type:decimal(10,6);comment:换手率(自由流通股)"`
|
||||||
|
VolumeRatio float64 `gorm:"type:decimal(10,4);comment:量比"`
|
||||||
|
Pe *float64 `gorm:"type:decimal(10,4);comment:市盈率(总市值/净利润)"`
|
||||||
|
PeTtm *float64 `gorm:"type:decimal(10,4);comment:市盈率(TTM)"`
|
||||||
|
Pb float64 `gorm:"type:decimal(10,4);comment:市净率"`
|
||||||
|
Ps float64 `gorm:"type:decimal(10,4);comment:市销率"`
|
||||||
|
PsTtm float64 `gorm:"type:decimal(10,4);comment:市销率(TTM)"`
|
||||||
|
DvRatio float64 `gorm:"type:decimal(10,6);comment:股息率(%)"`
|
||||||
|
DvTtm float64 `gorm:"type:decimal(10,6);comment:股息率(TTM)(%)"`
|
||||||
|
TotalShare float64 `gorm:"type:decimal(15,2);comment:总股本(万股)"`
|
||||||
|
FloatShare float64 `gorm:"type:decimal(15,2);comment:流通股本(万股)"`
|
||||||
|
FreeShare float64 `gorm:"type:decimal(15,2);comment:自由流通股本(万)"`
|
||||||
|
TotalMv float64 `gorm:"type:decimal(15,2);comment:总市值(万元)"`
|
||||||
|
CircMv float64 `gorm:"type:decimal(15,2);comment:流通市值(万元)"`
|
||||||
|
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||||
|
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
database.AppendMigrate(&LastIndicator{})
|
||||||
|
}
|
||||||
|
|
||||||
|
// TableName 设置表名
|
||||||
|
func (LastIndicator) TableName() string {
|
||||||
|
return "last_indicator"
|
||||||
|
}
|
||||||
|
|
||||||
|
// 索引定义(也可以在migration中创建)
|
||||||
|
func (LastIndicator) Indexes() []string {
|
||||||
|
return []gorm.Index{
|
||||||
|
&gorm.IndexModel{
|
||||||
|
Name: "idx_ts_code_trade_date",
|
||||||
|
Fields: []string{"ts_code", "trade_date"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user