This commit is contained in:
yanweidong
2026-01-31 18:22:58 +08:00
parent b4310c22cd
commit 32cbe88964
12 changed files with 104 additions and 155 deletions

View File

@@ -1,35 +1,25 @@
package rule
import (
"log"
"time"
"git.apinb.com/quant/gostock/internal/logic/types"
)
type UpDate struct {
Key string
Name string
}
func NewUpDate() *UpDate {
return &UpDate{
Key: "UpDate",
Name: "上市时间",
}
}
func (r *UpDate) Run(lastdate string) *types.RuleResult {
func (r *RuleFactory) RunUpDate(lastdate string) {
log.Println("RunUpDate:", r.Model.Code, "Args:", lastdate)
// 计算上市不足半年的股票
if lastdate == "" {
return &types.RuleResult{Key: r.Key, Name: r.Name, Score: -1, Desc: "无上市时间"}
r.Model.UpDateDay = -1
r.Model.AddDesc("无上市时间")
return
}
lastDate, err := time.Parse("20060102", lastdate)
if err != nil {
return &types.RuleResult{Key: r.Key, Name: r.Name, Score: -1, Desc: "上市时间格式错误"}
r.Model.UpDateDay = -1
r.Model.AddDesc("上市时间格式错误")
return
}
if time.Now().Sub(lastDate) < time.Hour*24*365/2 {
return &types.RuleResult{Key: r.Key, Name: r.Name, Score: -1, Desc: "上市时间不足6个月"}
}
return &types.RuleResult{Key: r.Key, Name: r.Name, Score: 1, Desc: "上市超过半年"}
daysDiff := int(time.Since(lastDate).Hours() / 24)
r.Model.UpDateDay = daysDiff
}