package tasks import ( "context" "encoding/json" "fmt" "platform/web/events" s "platform/web/services" "time" "github.com/hibiken/asynq" ) func HandleCancelTrade(_ context.Context, task *asynq.Task) (err error) { data := new(events.CancelTradeData) err = json.Unmarshal(task.Payload(), data) if err != nil { return fmt.Errorf("解析任务参数失败: %w", err) } err = s.Trade.CancelTrade(&s.ModifyTradeData{ TradeNo: data.TradeNo, Method: data.Method, }, time.Now()) if err != nil { return fmt.Errorf("取消交易失败: %w", err) } return nil } func HandleRemoveChannel(_ context.Context, task *asynq.Task) (err error) { data := make([]int32, 0) err = json.Unmarshal(task.Payload(), &data) if err != nil { return fmt.Errorf("解析任务参数失败: %w", err) } err = s.Channel.RemoveChannels(data) if err != nil { return fmt.Errorf("删除通道失败: %w", err) } return nil }