如何实现优惠劵领取限制功能,每个会员在设定X分钟内,最多领取N长优惠劵
实现步骤:
1.当前时间减去30分分钟
2.去数据库中查询某个人大于那个时间的领取次数。
需要注意的是这个功能如果集成在客户端中的话,,那用户可以修改本机时间,,绕过领取限制功能。所以该功能只能放在服务层或者是数据库中的存储过程。
况且这种判断领取次数的需求也就只有用户要领取的时候才会需要,
所以sql语句如下:
select count(1) from test where number='叉叉' and date>dateadd(minute,-30,getdate())
这句sql语句有个地方跟别的地方不一样:count(1)
count(*),会把星号翻译成字段的名字,计算分组下重复的行数。 count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是计算分组下重复的行数。 同理,count(2), count(3)或者count('x')等等都是一样的结果。 count(rowid)也是一样