f
This commit is contained in:
@@ -4,6 +4,7 @@ package service
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"bdrp-server/app/main/api/internal/config"
|
||||
@@ -90,3 +91,32 @@ func (s *AsynqService) SendUnfreezeCommissionTask(commissionID int64) error {
|
||||
logx.Infof("发送佣金解冻任务成功,任务ID: %s, 队列: %s, 佣金ID: %d", info.ID, info.Queue, commissionID)
|
||||
return nil
|
||||
}
|
||||
|
||||
// SendAgentMembershipExpireHandleTask 发送代理会员到期处理任务
|
||||
func (s *AsynqService) SendAgentMembershipExpireHandleTask(agentID int64, processAt time.Time) error {
|
||||
payload := types.MsgAgentMembershipExpireHandlePayload{
|
||||
AgentID: agentID,
|
||||
}
|
||||
payloadBytes, err := json.Marshal(payload)
|
||||
if err != nil {
|
||||
logx.Errorf("发送会员到期处理任务失败 (无法编码 payload): %v, 代理ID: %d", err, agentID)
|
||||
return err
|
||||
}
|
||||
|
||||
taskID := fmt.Sprintf("agent_membership_expire_handle_%d", agentID)
|
||||
options := []asynq.Option{
|
||||
asynq.ProcessAt(processAt),
|
||||
asynq.MaxRetry(5),
|
||||
asynq.TaskID(taskID),
|
||||
}
|
||||
task := asynq.NewTask(types.MsgAgentMembershipExpireHandle, payloadBytes, options...)
|
||||
|
||||
info, err := s.client.Enqueue(task)
|
||||
if err != nil {
|
||||
logx.Errorf("发送会员到期处理任务失败 (加入队列失败): %+v, 代理ID: %d, TaskID: %s", err, agentID, taskID)
|
||||
return err
|
||||
}
|
||||
|
||||
logx.Infof("发送会员到期处理任务成功,任务ID: %s, 队列: %s, 代理ID: %d, 执行时间: %s", info.ID, info.Queue, agentID, processAt.Format("2006-01-02 15:04:05"))
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user