This commit is contained in:
2026-05-13 14:43:10 +08:00
parent 2312f54e1e
commit 3399de0dc5
49 changed files with 1637 additions and 287 deletions

View File

@@ -17,6 +17,7 @@ import (
"github.com/google/uuid"
"github.com/hibiken/asynq"
"github.com/zeromicro/go-zero/core/logx"
"github.com/zeromicro/go-zero/core/stores/sqlx"
)
type PaySuccessNotifyUserHandler struct {
@@ -233,12 +234,16 @@ func (l *PaySuccessNotifyUserHandler) handleError(ctx context.Context, err error
}
if refund.IsSuccess() {
logx.Errorf("支付宝退款成功, orderID: %s", order.Id)
// 更新订单状态为退款
order.Status = "refunded"
updateOrderErr := l.svcCtx.OrderModel.UpdateWithVersion(ctx, nil, order)
if updateOrderErr != nil {
logx.Errorf("更新订单状态失败订单ID: %s, 错误: %v", order.Id, updateOrderErr)
return fmt.Errorf("更新订单状态失败: %v", updateOrderErr)
transErr := l.svcCtx.OrderModel.Trans(ctx, func(transCtx context.Context, session sqlx.Session) error {
order.Status = "refunded"
if err := l.svcCtx.OrderModel.UpdateWithVersion(transCtx, session, order); err != nil {
return fmt.Errorf("更新订单状态失败: %v", err)
}
return l.svcCtx.AgentService.ReverseAgentSettlementOnOrderRefund(transCtx, session, order.Id)
})
if transErr != nil {
logx.Errorf("支付宝退款后更新订单或冲正代理分账失败, orderID: %s, err: %v", order.Id, transErr)
return fmt.Errorf("更新订单状态或冲正代理分账失败: %v", transErr)
}
return asynq.SkipRetry
} else {