package service import ( "context" "fmt" "github.com/go-kratos/kratos/v2/log" "time" "voucher/internal/pkg/rdsmq" ) func (s *VoucherService) GetConfig() *rdsmq.ConsumeConfig { queue := s.bc.RdsMQ.GetWechatQuery() if queue == nil { return nil } if !queue.GetIsOpen() { log.Warn(fmt.Sprintf("[%s]RdsMQ is not open", queue.Name)) return nil } return &rdsmq.ConsumeConfig{ Rdb: s.rdb.Rdb, QueueName: queue.Name, NumWorkers: queue.NumWorkers, WaitTime: queue.GetWaitTime().AsDuration(), RetryNum: queue.RetryNum, Fn: s.Handle, Logger: s.logHelper, } } func (s *VoucherService) Handle(ctx context.Context, batchNo string) error { if batchNo == "" { s.logHelper.Errorf("RdsMQ keySend error: batchNo is empty") return nil } start := time.Now() fmt.Printf("微信券查询处理开始:%s,batchNo:%s", start.String(), batchNo) if err := s.VoucherBiz.WechatQuery(ctx, batchNo); err != nil { s.logHelper.Error(err) } log.Warnf("微信券查询处理耗时:%s,batchNo:%s", time.Now().Sub(start).String(), batchNo) fmt.Printf("微信券查询处理耗时:%s,batchNo:%s", time.Now().Sub(start).String(), batchNo) return nil }