| | |
| | | |
| | | 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); |
| | | } |