This commit is contained in:
Mrx
2026-06-07 15:11:33 +08:00
parent 079b5b39ef
commit a50b2823b3
4 changed files with 39 additions and 7 deletions

View File

@@ -122,6 +122,7 @@ func (l *AdminRefundOrderLogic) handleXpayRefund(order *model.Order, req *types.
}
refundNo := l.generateRefundNo(order.OrderNo)
_ = l.createRefundRecordOnly(order, req, refundNo, "", model.OrderRefundStatusSuccess)
l.Infof("[xpay] admin refund OK order_no=%s amount=%.2f", order.OrderNo, req.RefundAmount)
return &types.AdminRefundOrderResp{
Status: model.OrderStatusRefunded,
RefundNo: refundNo,

View File

@@ -105,8 +105,17 @@ func (l *PaymentCheckLogic) syncXpayOrderStatus(order *model.Order) (xpaySyncInf
return info, nil
}
if service.IsXpayRefundedStatus(status.Status) || service.IsXpayAlreadyRefunded(status) {
order.Status = model.OrderStatusRefunded
if updateErr := l.svcCtx.OrderModel.UpdateWithVersion(l.ctx, nil, order); updateErr != nil {
return info, updateErr
}
l.Infof("[xpay] check sync refunded order_no=%s wx_status=%d left_fee=%d", order.OrderNo, status.Status, status.LeftFee)
return info, nil
}
if service.IsXpayClosedStatus(status.Status) {
order.Status = "closed"
order.Status = model.OrderStatusClosed
if updateErr := l.svcCtx.OrderModel.UpdateWithVersion(l.ctx, nil, order); updateErr != nil {
return info, updateErr
}

View File

@@ -27,6 +27,7 @@ func RefundXpayQueryOrder(ctx context.Context, svcCtx *svc.ServiceContext, order
if refundErr := svcCtx.XpayService.RefundOrder(ctx, openid, order.OrderNo, refundOrderID, refundFeeFen); refundErr != nil {
return refundErr
}
logx.WithContext(ctx).Infof("[xpay] refund local sync order_no=%s", order.OrderNo)
return svcCtx.OrderModel.Trans(ctx, func(transCtx context.Context, session sqlx.Session) error {
order.Status = model.OrderStatusRefunded