review code.

This commit is contained in:
2026-05-01 17:07:20 +08:00
parent b3565ac6d7
commit 5673e5c6ca
18 changed files with 359 additions and 208 deletions

View File

@@ -0,0 +1,66 @@
package schema
import "strconv"
// DatasetIndicatorPro 对应 Tushare stk_factor_pro 当前请求字段集(见 tushare/indicator.go 的 fields 列表)。
type DatasetIndicatorPro struct {
ID uint `gorm:"primarykey;autoIncrement"`
TsCode string `gorm:"type:varchar(20);not null;index:dip_ts_code;uniqueIndex:un_dip_code_date;comment:股票代码" json:"ts_code"`
TradeDate int `gorm:"index:dip_trade_date;uniqueIndex:un_dip_code_date;comment:交易日期" json:"trade_date"`
Open float64 `gorm:"type:decimal(20,4);comment:开盘价"`
High float64 `gorm:"type:decimal(20,4);comment:最高价"`
Low float64 `gorm:"type:decimal(20,4);comment:最低价"`
Close float64 `gorm:"type:decimal(20,4);comment:收盘价"`
PreClose float64 `gorm:"type:decimal(20,4);comment:昨收价"`
Change float64 `gorm:"type:decimal(20,4);comment:涨跌额"`
PctChg float64 `gorm:"type:decimal(20,6);comment:涨跌幅%"`
Vol float64 `gorm:"type:decimal(20,2);comment:成交量(手)"`
Amount float64 `gorm:"type:decimal(20,2);comment:成交额(千元)"`
TurnoverRate float64 `gorm:"type:decimal(20,4);comment:换手率(%)"`
TurnoverRateF float64 `gorm:"type:decimal(20,4);comment:换手率(自由流通股)"`
VolumeRatio float64 `gorm:"type:decimal(20,4);comment:量比"`
Pe float64 `gorm:"type:decimal(20,4);comment:市盈率"`
PeTtm float64 `gorm:"type:decimal(20,4);comment:市盈率TTM"`
Pb float64 `gorm:"type:decimal(20,4);comment:市净率"`
Ps float64 `gorm:"type:decimal(20,4);comment:市销率"`
PsTtm float64 `gorm:"type:decimal(20,4);comment:市销率TTM"`
DvRatio float64 `gorm:"type:decimal(20,4);comment:股息率(%)"`
DvTtm float64 `gorm:"type:decimal(20,4);comment:股息率TTM(%)"`
TotalShare float64 `gorm:"type:decimal(20,4);comment:总股本(万股)"`
FloatShare float64 `gorm:"type:decimal(20,4);comment:流通股本(万股)"`
FreeShare float64 `gorm:"type:decimal(20,4);comment:自由流通股本(万股)"`
TotalMv float64 `gorm:"type:decimal(20,4);comment:总市值(万元)"`
CircMv float64 `gorm:"type:decimal(20,4);comment:流通市值(万元)"`
AdjFactor float64 `gorm:"type:decimal(20,6);comment:复权因子"`
MaBfq5 float64 `gorm:"type:decimal(20,6);comment:MA5不复权"`
MaBfq10 float64 `gorm:"type:decimal(20,6);comment:MA10不复权"`
MaBfq20 float64 `gorm:"type:decimal(20,6);comment:MA20不复权"`
MaBfq60 float64 `gorm:"type:decimal(20,6);comment:MA60不复权"`
EmaBfq5 float64 `gorm:"type:decimal(20,6);comment:EMA5不复权"`
EmaBfq10 float64 `gorm:"type:decimal(20,6);comment:EMA10不复权"`
EmaBfq20 float64 `gorm:"type:decimal(20,6);comment:EMA20不复权"`
MacdBfq float64 `gorm:"type:decimal(20,6);comment:MACD不复权"`
MacdDifBfq float64 `gorm:"type:decimal(20,6);comment:MACD DIF不复权"`
MacdDeaBfq float64 `gorm:"type:decimal(20,6);comment:MACD DEA不复权"`
RsiBfq6 float64 `gorm:"type:decimal(20,6);comment:RSI6不复权"`
RsiBfq12 float64 `gorm:"type:decimal(20,6);comment:RSI12不复权"`
RsiBfq24 float64 `gorm:"type:decimal(20,6);comment:RSI24不复权"`
KdjKBfq float64 `gorm:"type:decimal(20,6);comment:KDJ-K不复权"`
KdjDBfq float64 `gorm:"type:decimal(20,6);comment:KDJ-D不复权"`
KdjBfq float64 `gorm:"type:decimal(20,6);comment:KDJ-J不复权"`
BollUpperBfq float64 `gorm:"type:decimal(20,6);comment:BOLL上轨不复权"`
BollMidBfq float64 `gorm:"type:decimal(20,6);comment:BOLL中轨不复权"`
BollLowerBfq float64 `gorm:"type:decimal(20,6);comment:BOLL下轨不复权"`
}
func (DatasetIndicatorPro) TableName() string {
return "dataset_indicator_pro"
}
// Key 业务主键ts_code + 交易日。
func (s *DatasetIndicatorPro) Key() string {
if s.TsCode == "" && s.TradeDate == 0 {
return ""
}
return s.TsCode + "#" + strconv.Itoa(s.TradeDate)
}