package tasks import ( "encoding/json" "github.com/hibiken/asynq" "log/slog" trade2 "platform/web/domains/trade" ) const CancelTrade = "trade:update" type CancelTradeData struct { TradeNo string `json:"trade_no" validate:"required"` Method trade2.Method `json:"method" validate:"required"` } func NewCancelTrade(data CancelTradeData) *asynq.Task { bytes, err := json.Marshal(data) if err != nil { slog.Error("序列化更新交易任务失败", "error", err) return nil } return asynq.NewTask(CancelTrade, bytes) }