在全部活动总,抽奖活动占的比例是很是大的,现对已开发过的抽奖活动进行一个总结分析及评比思考php
抽奖活动在整理上能够分为如下几种类型:前端
在整个抽奖程序中,几率的设置是相当重要的,那么设置几率有哪些方法呢算法
每一次中奖后,在有数量限制的奖品中都须要减小,这种数量的减小就须要写入缓存或者数据库中了数据库
一旦奖品数量为0就须要降级处理或者设置为必中的奖品或者设置为未中奖后端
固然,每个中奖记录咱们都须要保存到数据库中数组
这种通常是虚拟类奖品的赠送,例如红包、积分等缓存
奖品 | 数量 | 几率 | 获奖等级 |
---|---|---|---|
5元现金红包 | 不限制 | 40% | 4 |
10元现金红包 | 不限制 | 30% | 3 |
20元现金红包 | 不限制 | 20% | 2 |
50元现金红包 | 不限制 | 10% | 1 |
这种抽奖活动的实现就可使用方法2和方法3啦,先获取几率,再记录并写入数据库,返回中奖结果网络
这种通常是实物类的奖品抽奖,会有未中奖选项存在的iphone
奖品 | 数量 | 几率 | 获奖等级 |
---|---|---|---|
小米充电器 | 40 | 40% | 4 |
电烤箱 | 30 | 30% | 3 |
ipad | 20 | 20% | 2 |
iphone | 10 | 10% | 1 |
这种抽奖活动的实现思路就是在奖品出来后判断一次奖品是否发送完成,若是发送完成则提示未中奖函数
这种通常是有实物和虚拟结合的,也有是纯实物的,只是有一款实物的成本很低很低
奖品 | 数量 | 几率 | 获奖等级 |
---|---|---|---|
5元现金红包 | 不限制 | 40% | 4 |
电烤箱 | 30 | 30% | 3 |
ipad | 20 | 20% | 2 |
iphone | 10 | 10% | 1 |
这种抽奖活动的实现思路就是在奖品出来后判断一次奖品是否发送完成,若是发送完成则将中奖的等级更新为必中的奖品便可
这种通常是现场活动下的抽奖游戏,人人参与人人中奖,数量很少
奖品 | 数量 | 几率 | 获奖等级 |
---|---|---|---|
小米充电器 | 不限制 | 40% | 4 |
电烤箱 | 30 | 30% | 3 |
ipad | 20 | 20% | 2 |
iphone | 10 | 10% | 1 |
这种活动的实现思路是: 一次将奖品写入到缓存或者数据库中,每次读取一条数据并更改状态
这种通常是出如今现场和线上的指定人数参与的抽奖活动
奖品 | 数量 | 几率 | 获奖等级 |
---|---|---|---|
小米充电器 | 不限制 | 40% | 4 |
电烤箱 | 30 | 30% | 3 |
ipad | 20 | 20% | 2 |
iphone | 10 | 10% | 1 |
这种活动的实现思路是: 一次将奖品写入到缓存或者数据库中,每次读取一条数据并更改状态,而且要写入未中奖的数据
这种就至关因而必中啦,只是必中的必定是不设置上限的奖品
奖品 | 数量 | 几率 | 获奖等级 |
---|---|---|---|
小米充电器 | 不限制 | 40% | 4 |
电烤箱 | 30 | 30% | 3 |
ipad | 20 | 20% | 2 |
iphone | 10 | 10% | 1 |
这种活动的实现思路是: 在用户抽奖时先判断是不是否超过人数,再根据中奖几率来匹配,若是奖品已经发送完,则强制更新为必中奖项便可
注意: