fix promotion

This commit is contained in:
2025-06-20 15:12:34 +08:00
parent c062908aae
commit 9aa6913883
3 changed files with 45 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import (
"database/sql"
"encoding/hex"
"encoding/json"
"errors"
"fmt"
"os"
"regexp"
@@ -139,7 +140,10 @@ func (l *PaySuccessNotifyUserHandler) ProcessTask(ctx context.Context, t *asynq.
if err != nil {
return l.handleError(ctx, err, order, query)
}
err = l.promotionOrderStats(ctx, order)
if err != nil {
logx.Errorf("处理推广订单统计失败订单ID: %d, 错误: %v", order.Id, err)
}
_, delErr := l.svcCtx.Redis.DelCtx(ctx, redisKey)
if delErr != nil {
logx.Errorf("删除Redis缓存失败但任务已成功处理订单ID: %d, 错误: %v", order.Id, delErr)
@@ -296,6 +300,21 @@ func (l *PaySuccessNotifyUserHandler) createNullString(value string) sql.NullStr
}
}
// 处理推广订单统计
func (l *PaySuccessNotifyUserHandler) promotionOrderStats(ctx context.Context, order *model.Order) error {
promotionOrder, err := l.svcCtx.AdminPromotionOrderModel.FindOneByOrderId(ctx, order.Id)
if err != nil && !errors.Is(err, model.ErrNotFound) {
return fmt.Errorf("获取推广订单失败: %+v", err)
}
if promotionOrder != nil {
err = l.svcCtx.AdminPromotionLinkStatsService.UpdatePaymentStats(ctx, promotionOrder.LinkId, float64(order.Amount))
if err != nil {
return fmt.Errorf("更新推广链接支付统计失败: %+v", err)
}
}
return nil
}
// desensitizeParams 对敏感数据进行脱敏处理
func (l *PaySuccessNotifyUserHandler) desensitizeParams(data []byte) ([]byte, error) {
// 解析JSON数据到map