From 82a8bc62d5b9d5d607f6952329952b17eda2f0a0 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 14 九月 2026 15:44:34 +0800
Subject: [PATCH] update

---
 backend/src/main/java/com/tourguide/modules/finance/service/GuideWithdrawableBalanceService.java |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/backend/src/main/java/com/tourguide/modules/finance/service/GuideWithdrawableBalanceService.java b/backend/src/main/java/com/tourguide/modules/finance/service/GuideWithdrawableBalanceService.java
index 84ab601..20f8152 100644
--- a/backend/src/main/java/com/tourguide/modules/finance/service/GuideWithdrawableBalanceService.java
+++ b/backend/src/main/java/com/tourguide/modules/finance/service/GuideWithdrawableBalanceService.java
@@ -29,6 +29,12 @@
         return value.signum() > 0 && guideUserMapper.decreaseBalance(guideId, value) == 1;
     }
 
+    /** 退款冲正允许记录负余额,后续结算收益会优先抵扣退款形成的负债。 */
+    public boolean debitForRefund(Long guideId, BigDecimal amount) {
+        BigDecimal value = money(amount);
+        return value.signum() > 0 && guideUserMapper.decreaseBalanceForRefund(guideId, value) == 1;
+    }
+
     public void credit(Long guideId, BigDecimal amount) {
         BigDecimal value = money(amount);
         if (value.signum() == 0) return;
@@ -49,6 +55,12 @@
                 && guideTeamMapper.decreaseBalance(teamId, value) == 1;
     }
 
+    public boolean debitTeamForRefund(Long teamId, BigDecimal amount) {
+        BigDecimal value = money(amount);
+        return teamId != null && value.signum() > 0
+                && guideTeamMapper.decreaseBalanceForRefund(teamId, value) == 1;
+    }
+
     public void creditTeam(Long teamId, BigDecimal amount) {
         BigDecimal value = money(amount);
         if (value.signum() == 0) return;

--
Gitblit v1.7.1