在全部活動總,抽獎活動佔的比例是很是大的,現對已開發過的抽獎活動進行一個總結分析及評比思考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 |
這種活動的實現思路是: 在用戶抽獎時先判斷是不是否超過人數,再根據中獎機率來匹配,若是獎品已經發送完,則強制更新爲必中獎項便可
注意: