package com.tourguide.modules.user.mapper; 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 { @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); }