This commit is contained in:
2026-04-29 11:38:59 +08:00
parent e96e3f9583
commit 7d363f4e8a
30 changed files with 1135 additions and 215 deletions

View File

@@ -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
}