重构代码结构与认证体系,集成异步任务消费者
This commit is contained in:
41
web/tasks/task.go
Normal file
41
web/tasks/task.go
Normal file
@@ -0,0 +1,41 @@
|
||||
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(data.TradeNo, 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
|
||||
}
|
||||
Reference in New Issue
Block a user