【已解决】Flask中如何设计优惠码

要设计一个后台,其中涉及到:优惠码

基本的逻辑是:

用户A发布T1任务,用户B抢单后

用户A在T1界面中,可以分享出一个优惠码P1

多次分享,也是同一个优惠码

然后这个优惠码:

在用户C去拿到后,去注册后发布任务中,可以输入P1 去验证,得之:

此验证码P1是否是有效的,如果有效,是优惠多少钱

然后用户C去发布任务T2时,最终提交时,

带上这个P1,服务器去判断:

如果有效,则优惠对应的钱

所以,先要去设计一个 优惠码系统

支持优惠码P,和任务T,唯一对应

且支持验证一个优惠码P是否有效:

返回:

无效:是无效的,还是过期了

    过期的话:服务器端,有个缓存时间,便于识别此优惠码是否在近期已过期了。

有效:优惠程度,多少钱

优惠码生成算法

算法 – 购物网站的优惠码,网站邀请码那一类的唯一字符串是怎么实现的? – SegmentFault

C2C网站生成优惠码可以用什么算法实现? – V2EX

如何才能生成一个唯一的随机数 – V2EX

ObjectId — MongoDB Manual 3.2

代金券码的生成标准请教 · Ruby China

uber优惠码的生成的规则是什么? – 互联网 – 知乎

php – 京东上生成100万张优惠券算法问题 – SegmentFault

求优惠券码生成和验证规则例如:689F-585E-B69A-181F-CSDN论坛-CSDN.NET-中国最大的IT技术社区

【总结】

对于优惠码:核心还是:

随机-》让别人无法破解

-》此处还是自己用随机字符串吧

大写字母:A到Z,26个

小写字母:a到z,26个

数字0-9:10个

一共:62个

如果6位,共有:62^6=56800235584=568亿

如果8位,共有:62^8=218340105584896=218万亿

比如首字母加上T,表示我此处和Task相关的优惠码:

如果7位,共有:62^7=3521614606208=3.5万亿

所以,足够用了。

都不需要判读是否重复。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量