fix(pool): 调整日志字段名避免混淆
- 将飞鱼查询返回日志中的respData字段名改为respRawData - 保留解析后的respData字段,防止日志信息混淆 - 改进日志可读性,有助于后续问题排查 fix(supplier): 优化飞鱼查询返回日志及错误日志记录 - 在飞鱼查询日志中添加频繁操作标志和详细响应数据 - 修改日志记录方式,避免重复输出respData - 在任务提交错误时添加错误日志记录,利于问题排查 - 保持原有错误处理逻辑不变,确保重新下单流程正常运行 fix(pool): 修复飞鱼下单任务错误处理和日志打印问题 - 在飞鱼下单单元测试中记录任务处理的错误日志 - 修改订单提交失败错误判断关键字,从“重新下单提交卡密”调整为“重新下单” - 保证错误判断逻辑更准确,避免误判导致异常处理流程异常 - 优化日志信息完整性,便于定位任务处理中的异常情况 fix(utils): 修复代理池中的代理选择与过期时间问题 - 修正排除通道代理使用计数的判断条件,由小于等于改为大于 - 调整代理过期时间,从55秒缩短到50秒 - 删除不必要的日志打印,减少无用信息输出 fix(card_sender): 修复获取代理时使用错误参数的问题 - 将获取代理时传入的参数从 LocalOrderID 改为生成的新 ID - 修正代理获取调用以避免错误传递参数导致的问题 - 添加代理获取日志,便于调试和追踪请求过程
This commit is contained in:
@@ -109,7 +109,7 @@ func (s *SendCardTaskTypeFlyFishV2) HandleSendCardTask(ctx context.Context, orde
|
||||
}).
|
||||
SetRetryCount(1).
|
||||
SetTimeout(time.Second * 30).OnBeforeRequest(func(client *resty.Client, request *resty.Request) error {
|
||||
proxy, err2 := utils.GetProxy(ctx, task.LocalOrderID, "SendCardTaskTypeFlyFishV2_cardTask")
|
||||
proxy, err2 := utils.GetProxy(ctx, utils.GenerateId(), "SendCardTaskTypeFlyFishV2_cardTask")
|
||||
otelTrace.Logger.WithContext(ctx).Info("获取代理", zap.String("proxy", proxy))
|
||||
if err2 != nil {
|
||||
otelTrace.Logger.WithContext(ctx).Error("获取代理失败", zap.Error(err2))
|
||||
@@ -163,7 +163,8 @@ func (s *SendCardTaskTypeFlyFishV2) HandleSendCardTask(ctx context.Context, orde
|
||||
Message string `json:"message"`
|
||||
}{}
|
||||
err = json.Unmarshal(resp.Body(), &respData)
|
||||
otelTrace.Logger.WithContext(ctx).Info("飞鱼查询返回", zap.Any("respData", resp.String()), zap.Any("formData", formData))
|
||||
otelTrace.Logger.WithContext(ctx).Info("飞鱼查询返回", zap.Any("respRawData", resp.String()), zap.Any("formData", formData),
|
||||
zap.Bool("success", strings.Contains(respData.Message, "频繁操作")), zap.Any("respData", respData))
|
||||
if strings.Contains(respData.Message, "频繁操作") {
|
||||
return errors.New("重新下单提交卡密")
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ func TestSendCardTaskTypeFlyFishV2_HandleSendCardTask(t *testing.T) {
|
||||
otelTrace.Logger.WithContext(t.Context()).Info("飞鱼下单返回",
|
||||
zap.Any("respData", respData),
|
||||
)
|
||||
(&SendCardTaskTypeFlyFishV2{}).HandleSendCardTask(t.Context(), OrderPoolItem{
|
||||
err := (&SendCardTaskTypeFlyFishV2{}).HandleSendCardTask(t.Context(), OrderPoolItem{
|
||||
PayURL: respData.Data.Url,
|
||||
OrderID: utils.GenerateId(),
|
||||
CreateTime: time.Now(),
|
||||
@@ -86,4 +86,5 @@ func TestSendCardTaskTypeFlyFishV2_HandleSendCardTask(t *testing.T) {
|
||||
Data: "23611016" + fmt.Sprintf("%08d", random.RandInt(10000000, 99999999)),
|
||||
},
|
||||
})
|
||||
t.Log(err)
|
||||
}
|
||||
|
||||
@@ -572,8 +572,9 @@ func (s *OrderPoolServiceImpl) SubmitOrder(ctx context.Context, task card_sender
|
||||
return fmt.Errorf("绑定订单ID和卡片信息ID失败: %v", err)
|
||||
}
|
||||
err = task.SendCardTaskType.GetSendCardTaskType().HandleSendCardTask(ctx, orderItem, task)
|
||||
otelTrace.Logger.WithContext(ctx).Error("提交返回错误", zap.Error(err))
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "重新下单提交卡密") {
|
||||
if strings.Contains(err.Error(), "重新下单") {
|
||||
continue
|
||||
}
|
||||
return fmt.Errorf("提交订单失败: %v", err)
|
||||
|
||||
@@ -201,7 +201,7 @@ func (p *OrderBasedProxyStrategy) getUnderLimitedProxy(ctx context.Context, perI
|
||||
//需要找到指定通道所有的代理
|
||||
counts := map[*ProxyInfo]int{}
|
||||
for channel, info := range p.proxies {
|
||||
if strings.Contains(channel, excludeChannels) && info.usageCount <= perIP {
|
||||
if strings.Contains(channel, excludeChannels) && info.usageCount > perIP {
|
||||
counts[info]++
|
||||
}
|
||||
}
|
||||
@@ -280,7 +280,7 @@ func (p *OrderBasedProxyStrategy) getNewProxy(ctx context.Context, proxyRequest
|
||||
p.mu.Lock()
|
||||
proxyInfo := &ProxyInfo{
|
||||
proxy: proxy,
|
||||
expireAt: time.Now().Add(55 * time.Second),
|
||||
expireAt: time.Now().Add(50 * time.Second),
|
||||
authKey: p.authKey,
|
||||
authPwd: p.authPwd,
|
||||
channel: proxyRequest.Channel,
|
||||
@@ -460,7 +460,6 @@ var DMProxyStrategyInstance *DMProxyStrategy
|
||||
|
||||
func StartProxyPool() {
|
||||
proxyConfig := config.GetProxyInfo()
|
||||
otelTrace.Logger.WithContext(context.Background()).Info("proxyConfig", zap.Any("proxyConfig", proxyConfig))
|
||||
|
||||
//// 初始化订单代理策略
|
||||
OrderBasedProxyStrategyInstance = NewOrderBasedProxyStrategy(
|
||||
|
||||
Reference in New Issue
Block a user