Checks / verify (push) Failing after 9m52s
统一单入口 Go 工程与前端依赖目录,增加后台供应商配置、候选审核、计划预算、成交冲正、持仓复盘和站内通知。接入策略版本、Python 回测、可配置 A 股公开行情及 zap 文件轮转日志,补充迁移、契约与验证。
47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
type Notification struct {
|
|
ID string `db:"id" json:"id"`
|
|
UserID string `db:"user_id" json:"-"`
|
|
EventID string `db:"event_id" json:"event_id"`
|
|
PlanID *string `db:"plan_id" json:"plan_id"`
|
|
Title string `db:"title" json:"title"`
|
|
Body string `db:"body" json:"body"`
|
|
ReadAt *time.Time `db:"read_at" json:"read_at"`
|
|
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
|
}
|
|
|
|
func (Notification) TableName() string { return "veyra_notification" }
|
|
|
|
type QuoteSnapshot struct {
|
|
ID string `db:"id" json:"id"`
|
|
Symbol string `db:"symbol" json:"symbol"`
|
|
Exchange string `db:"exchange" json:"exchange"`
|
|
DataMode string `db:"data_mode" json:"data_mode"`
|
|
PriceMinor int64 `db:"price_minor" json:"-"`
|
|
Price string `json:"price"`
|
|
ObservedAt time.Time `db:"observed_at" json:"observed_at"`
|
|
Version int64 `db:"version" json:"version"`
|
|
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
|
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
|
|
}
|
|
|
|
func (QuoteSnapshot) TableName() string { return "veyra_quote_snapshot" }
|
|
|
|
type PlanTrigger struct {
|
|
ID string `db:"id"`
|
|
PlanID string `db:"plan_id"`
|
|
QuoteSnapshotID string `db:"quote_snapshot_id"`
|
|
QuoteVersion int64 `db:"quote_version"`
|
|
TriggeredAt time.Time `db:"triggered_at"`
|
|
}
|
|
|
|
func (PlanTrigger) TableName() string { return "veyra_plan_trigger" }
|
|
|
|
type NotificationTask struct {
|
|
OutboxEvent
|
|
RecipientCount int `json:"recipient_count"`
|
|
}
|