package stake_settle import ( "context" "github.com/robfig/cron/v3" "github.com/zeromicro/go-zero/core/logx" "nova_task/internal/logic/nft" "nova_task/internal/svc" "time" ) type Cron struct { ctx context.Context svcCtx *svc.ServiceContext } func NewCron(ctx context.Context, svcCtx *svc.ServiceContext) cron.Job { return &Cron{ ctx: ctx, svcCtx: svcCtx, } } func (c *Cron) Spec() string { return c.svcCtx.Config.NftTaskCron.SettleSpec } func (c *Cron) Run() { date := time.Now().AddDate(0, 0, -1).Format(time.DateOnly) logx.Debugw("run settle cron task", logx.Field("settle-date", date)) lg := nft.NewStakeSettleLogic(c.ctx, c.svcCtx) lg.StakeSettle(date) }