var card = {
card_type: "DISCOUNT",
base_info: {
// ...
},
special_info: {
// ...
}
}
wxCard.card.createCard(card, function(err, cardId) {
// 创建成功后,返回卡券的ID
})
基本思路是:锁+幂等性
具体实现:
使用redis的decr (对key对应的数字做减1操作。如果key不存在,那么在操作之前,这个key对应的值会被置为0。如果key有一个错误类型的value或者是一个不能表示成数字的字符串,就返回错误。这个操作最大支持在64位有符号的整型数字。)可以实现原子性的递增递减操作控制优惠码不超送,然后给每个用户维护一个userid+优惠码活动的key保证幂等性,只要redis存在这种key,那就代表已经领取了,具体的优惠码分发可以异步执行。为了避免竞争(同一个用户,多个设备同时领取),参考:网页链接
Date d1 = new Date()//当前的时间,java.util.Date类System.out.println(d1.getHours())
d1.setTime(d1.getTime()+60*60l*1000)//这个是给你演示如何加1个小时,你进行比较的时候,将两个都getTime,得出的是毫秒,你相减自然就知道是否快到期了
System.out.println(d1.getHours())
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)