fix and add

This commit is contained in:
2026-01-03 17:53:19 +08:00
parent 0211c67f86
commit 21b4069465
15 changed files with 277 additions and 24 deletions

View File

@@ -10,6 +10,7 @@ import (
"path"
"regexp"
"strings"
paylogic "tydata-server/app/main/api/internal/logic/pay"
"tydata-server/app/main/api/internal/svc"
"tydata-server/app/main/api/internal/types"
"tydata-server/app/main/model"
@@ -251,6 +252,20 @@ func (l *PaySuccessNotifyUserHandler) handleError(ctx context.Context, err error
logx.Error(refundErr)
return asynq.SkipRetry
}
// 微信退款成功,更新订单、佣金、钱包状态
logx.Infof("微信退款成功, orderID: %d", order.Id)
// 更新订单状态为退款
order.Status = "refunded"
updateOrderErr := l.svcCtx.OrderModel.UpdateWithVersion(ctx, nil, order)
if updateOrderErr != nil {
logx.Errorf("更新订单状态失败订单ID: %d, 错误: %v", order.Id, updateOrderErr)
return fmt.Errorf("更新订单状态失败: %v", updateOrderErr)
}
// 使用公共函数处理佣金和钱包扣除
paylogic.HandleCommissionAndWalletDeduction(ctx, l.svcCtx, nil, order)
return asynq.SkipRetry
} else {
refund, refundErr := l.svcCtx.AlipayService.AliRefund(ctx, order.OrderNo, order.Amount)
if refundErr != nil {
@@ -266,6 +281,10 @@ func (l *PaySuccessNotifyUserHandler) handleError(ctx context.Context, err error
logx.Errorf("更新订单状态失败订单ID: %d, 错误: %v", order.Id, updateOrderErr)
return fmt.Errorf("更新订单状态失败: %v", updateOrderErr)
}
// 使用公共函数处理佣金和钱包扣除
paylogic.HandleCommissionAndWalletDeduction(ctx, l.svcCtx, nil, order)
return asynq.SkipRetry
} else {
logx.Errorf("支付宝退款失败:%v", refundErr)