package com.cyksj.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.cyksj.model.entity.User; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; import java.math.BigDecimal; /** * @author chan * @date 2021/10/10 下午3:28 */ public interface UserMapper extends BaseMapper { @Update("update user set lottery_time = lottery_time - 1 where id = #{userId} and lottery_time > 0") int decrLotteryTime(@Param("userId") Long userId); @Update("update user set lottery_time = lottery_time + 1 where id = #{id}") void incrLotteryTime(@Param("id") Long userId); @Update("update user set points = points - #{points} where id = #{id} and points >= #{points} and points > 0") Integer subPoints(@Param("id") Long id, @Param("points") BigDecimal points); @Update("update user set points = points + #{addPoints} where id = #{id} and points = #{originalPoints} and points >=0") Integer updatePoints(@Param("id") Long id, @Param("originalPoints") BigDecimal originalPoints, @Param("addPoints") BigDecimal addPoints); }