+
 新版

类似微信红包的超时自动返还功能

我是特种兵 发布于 2016/11/14 17:46
阅读 2K+
收藏 0

    有一个需求,用户通过链接分享自己的积分,分享时会扣除此用户的积分数,积分数是固定的,链接有效期是固定时间,不超时时其他人可以正常打开链接领取,超时以后点击会提示超时,已过期。并且不管有没有用户去点击,超时时间是固定的,比如1个小时,并且到1个小时后分享时扣除的用户积分要返还。

    和微信红包超时退回是一样的场景。

    现在能用到的只有php、mysql、redis、Linux服务器,请问大神们怎样才能做一个和微信红包超时退回类似的功能呢?

    感谢!

加载中
0
Tuesday
Tuesday
一个token就可以搞定的事, 
我是特种兵
我是特种兵
请问怎样用一个token判断是否已经超时,自动判断,没有用户去点击。
0
我不说话
我不说话
分享时,写入超时时间点。专门一个定时器,每几秒查询小于当前时间的数据,然后返还积分,over;还有你这个积分分享的逻辑也没讲清楚
0
IdleMan
IdleMan
增加一个超时时间字段,减积分时根据该字段确认是否超时:超时则不减积分并提示超时,否则balbala
我是特种兵
我是特种兵
怎样自动判断是否超时?
0
首席撸出血
首席撸出血

超时时间是固定的,你创建的时候给个token,token对应数据库里面某个表里的字段,字段对应的数据有超时时间,用户领取的时候你通过token判断当前时间是否大于超时时间,是的话,就提示用户不可以领取



另外后台弄一个定时任务,判断是否已经超时,是的话,就把积分退还给用户!



0
Tuesday
Tuesday

引用来自“首席雅诗兰黛”的评论

超时时间是固定的,你创建的时候给个token,token对应数据库里面某个表里的字段,字段对应的数据有超时时间,用户领取的时候你通过token判断当前时间是否大于超时时间,是的话,就提示用户不可以领取



另外后台弄一个定时任务,判断是否已经超时,是的话,就把积分退还给用户!



积分都没发放呢, 何来的退还? 

讲点逻辑思维行不行. 

我是特种兵
我是特种兵
"分享时会扣除此用户的积分数",所以超时没人领取之后要自动退回。
0
太黑_thj
太黑_thj
你这个分享逻辑就有问题  应该是限时分享,然后有人领取就直接从账户内扣除积分,领多少扣多少,或者可以设个分享上限,然后设个超时时间,时间过了就不能继续领取   也就省了一步积分回退,还容易实现一些
0
我是特种兵
我是特种兵

引用来自“太黑的忧郁情怀”的评论

你这个分享逻辑就有问题  应该是限时分享,然后有人领取就直接从账户内扣除积分,领多少扣多少,或者可以设个分享上限,然后设个超时时间,时间过了就不能继续领取   也就省了一步积分回退,还容易实现一些
现在做的就是模仿微信红包,只不过不是发钱,而是发积分。产品这样设计的,我也没办法,如果像你说的这样,我也就不会问这个问题了。
0
Jorycn
Jorycn

其实大家说的定时期思路肯定如此,只是解决方案不是很好。

1、添加一个定时器,按时去执行容器内的数据(积分操作单流水号,过期时间)

2、在每次发放积分是向容器内推送一条监控数据,积分领取删除容器序列,未领取将触发定时器事件

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部