This commit is contained in:
yanweidong
2026-01-31 17:21:33 +08:00
parent e38e584535
commit b4310c22cd

View File

@@ -0,0 +1,64 @@
package models
import (
"time"
"git.apinb.com/bsm-sdk/core/database"
"git.apinb.com/bsm-sdk/core/utils"
"git.apinb.com/quant/gostock/internal/impl"
"gorm.io/gorm"
)
// StartModel 策略模型
type StratModel struct {
gorm.Model
StratKey string
Ymd int
Code string
UpDateMonth int //上市时间,月数
IndustryScore int // 行业分组
IsSt int
GtAmount int // 每日交易额大于设定值
GtPrice int // 最近20日交易日价格大于设定值
GtRoe int // ROE 是否大于设定值
}
func init() {
database.AppendMigrate(&StratModel{})
}
// TableName 设置表名
func (StratModel) TableName() string {
return "strat_model"
}
func NewStratModel(key, code string) *StratModel {
obj := StratModel{
StratKey: key,
Ymd: GetYmd(),
Code: code,
}
return &obj
}
func (s *StratModel) Save() error {
var cnt int64
impl.DBService.Model(&StratModel{}).Where("strat_key=? and ymd=? and code=?", s.StratKey, s.Ymd, s.Code).Count(&cnt)
if cnt == 0 {
// create record.
return impl.DBService.Create(s).Error
} else {
// update record.
return impl.DBService.Model(&StratModel{}).Where("strat_key=? and ymd=? and code=?", s.StratKey, s.Ymd, s.Code).Updates(s).Error
}
return nil
}
func GetYmd() int {
ymd := time.Now().Format("20060102")
return utils.String2Int(ymd)
}