This commit is contained in:
2026-01-12 16:43:08 +08:00
parent dc747139c9
commit 3c6e2683f5
110 changed files with 9630 additions and 481 deletions

View File

@@ -114,6 +114,21 @@ func (l *WechatPayRefundCallbackLogic) handleQueryOrderRefund(orderNo string, st
return errors.Wrapf(err, "更新订单和退款记录失败: %s", orderNo)
}
// 退款成功后,检查并处理代理订单(在事务外执行,避免影响退款流程)
if status == refunddomestic.STATUS_SUCCESS {
// 检查代理订单是否已处理
agentOrder, err := l.svcCtx.AgentOrderModel.FindOneByOrderId(l.ctx, order.Id)
if err == nil && agentOrder != nil && agentOrder.ProcessStatus == 1 {
// 代理订单已处理,需要撤销收益
if cancelErr := l.svcCtx.AgentService.CancelAgentCommission(l.ctx, order.Id); cancelErr != nil {
logx.Errorf("撤销代理收益失败订单ID: %s, 错误: %v", order.Id, cancelErr)
// 不阻断退款流程,只记录日志(退款已成功,不能回滚)
} else {
logx.Infof("成功撤销代理收益订单ID: %s", order.Id)
}
}
}
return nil
}