liujie
2026-09-17 825a575deb96cce822468bb9d9ac3e4eea0f91d1
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);
}