From 825a575deb96cce822468bb9d9ac3e4eea0f91d1 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 17 九月 2026 08:58:14 +0800
Subject: [PATCH] update

---
 backend/src/main/java/com/tourguide/modules/user/mapper/GuideTeamMapper.java |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/backend/src/main/java/com/tourguide/modules/user/mapper/GuideTeamMapper.java b/backend/src/main/java/com/tourguide/modules/user/mapper/GuideTeamMapper.java
index 38843ec..3dd23a8 100644
--- a/backend/src/main/java/com/tourguide/modules/user/mapper/GuideTeamMapper.java
+++ b/backend/src/main/java/com/tourguide/modules/user/mapper/GuideTeamMapper.java
@@ -2,6 +2,20 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.tourguide.modules.user.entity.GuideTeam;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+import java.math.BigDecimal;
 
 public interface GuideTeamMapper extends BaseMapper<GuideTeam> {
+    @Update("UPDATE guide_team SET balance = balance + #{amount}, updated_at = NOW() " +
+            "WHERE id = #{teamId} AND deleted = 0")
+    int increaseBalance(@Param("teamId") Long teamId, @Param("amount") BigDecimal amount);
+
+    @Update("UPDATE guide_team SET balance = balance - #{amount}, updated_at = NOW() " +
+            "WHERE id = #{teamId} AND deleted = 0 AND balance >= #{amount}")
+    int decreaseBalance(@Param("teamId") Long teamId, @Param("amount") BigDecimal amount);
+
+    @Update("UPDATE guide_team SET balance = COALESCE(balance, 0) - #{amount}, updated_at = NOW() " +
+            "WHERE id = #{teamId} AND deleted = 0")
+    int decreaseBalanceForRefund(@Param("teamId") Long teamId, @Param("amount") BigDecimal amount);
 }

--
Gitblit v1.7.1