日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

业务总结003:抽奖活动

發布時間:2024/9/30 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 业务总结003:抽奖活动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C 端抽獎 UI 效果:

一、抽獎活動模型


上圖是大概的抽獎活動模型,可能一個抽獎活動會持續很多天,這里活動抽獎規則、獎勵庫存都采用的都是當日的概念,當然也可以采用活動持續時長的概念,具體看產品的意愿,畢竟產品大大說了算。

二、抽獎算法

2.1 隨機概率

在獎勵池隨機一個作為用戶獎勵,這種方式實現起來很簡單,但是產品不允許。為了吸引用戶參與抽獎,一般會設置一些成本較高的獎勵,這些成本較高的獎勵肯定不希望被用戶大概率抽到。

2.2 庫存計算概率

獎勵庫存與中獎概率成正比,在很多場景下根據庫存計算中獎概率也是一種比較好的選擇。普通的獎勵一般在后臺會設置大量的庫存,而成本較高的獎勵可能只會設置個位數的庫存。畢竟項目上線時不是由開發配置抽獎活動,不排除運營人員不清楚規則胡亂配置的可能,導致與預期不符。

2.3 指定中獎概率

用戶能不能中獎嚴格按照后臺各獎勵的中獎概率計算,便于各業務線人員理解。

三、抽獎算法簡單實現

隨機概率比較簡單,一行代碼完事,這里就不說了。重點說下剩下兩種算法的實現方式,實現細節是在”0 - 總庫存“范圍內生成一個隨機數,然后把獎勵庫存分段,分段區間與獎勵一一對應,隨機數落在的那個分段區間對應的獎勵為用戶抽中的獎勵。

下面是根據庫存計算中獎概率的 demo,根據中獎概率計算同理。

public class LotteryDemo {public static Random random = new Random();public static List<LotteryRewardSku> rewardSkuList;static {rewardSkuList = Arrays.asList(new LotteryRewardSku(1L, 10), new LotteryRewardSku(2L, 5), new LotteryRewardSku(3L, 1));}public static void main(String[] args) {Map<Long, Integer> rewardSkuStockMap = rewardSkuList.stream().collect(Collectors.toMap(LotteryRewardSku::getLotteryRewardSkuId, LotteryRewardSku::getStockNum));for (int i = 0; i < 5; i++) {LotteryRewardSku rewardSku = lotteryAlgorithm(rewardSkuList, rewardSkuStockMap);System.out.println(rewardSku.getLotteryRewardSkuId());}}private static LotteryRewardSku lotteryAlgorithm(List<LotteryRewardSku> rewardSkuList, Map<Long, Integer> rewardSkuStockMap) {int totalStock = (int) rewardSkuStockMap.values().stream().collect(Collectors.summarizingInt(i -> i)).getSum();// 在庫存總數中隨機一個數字,作為中獎數int randNum = random.nextInt(totalStock) + 1;int next = 0;Long getRewardSkuId = null;// 庫存分段for (Map.Entry<Long, Integer> awardEntry : rewardSkuStockMap.entrySet()) {if (randNum <= next + awardEntry.getValue()) {getRewardSkuId = awardEntry.getKey();break;}next += awardEntry.getValue();}Long finalGetRewardSkuId = getRewardSkuId;return rewardSkuList.stream().filter(sku -> sku.getLotteryRewardSkuId().equals(finalGetRewardSkuId)).findFirst().orElse(null);}@Data@AllArgsConstructorpublic static class LotteryRewardSku {private Long lotteryRewardSkuId;private Integer stockNum;} }

總結

以上是生活随笔為你收集整理的业务总结003:抽奖活动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一区二区精品 | 天堂网8| 日本一区二区三区免费看 | 亚洲高清免费观看 | 国产成人精品网站 | 糖心logo在线观看 | 超碰com| 奇米精品一区二区三区在线观看一 | 欧洲成人在线观看 | 国产三级三级三级 | 亚洲av电影天堂男人的天堂 | 国产三级福利 | 青青草免费在线视频 | 一区二区三区四区国产精品 | 精品玖玖玖| 一级毛片基地 | 欧美一区免费看 | 天堂久久精品 | 成年人的免费视频 | 成人在线观看免费高清 | ts人妖另类精品视频系列 | 婷婷伊人五月 | 欧美精品1区 | 亚洲精品影院在线 | 97精品国产露脸对白 | 99福利影院 | 国产精品五月天 | 日韩免费福利视频 | 99re视频精品| 国产成人免费片在线观看 | 久久av一区二区三 | 九草视频在线 | 欧美一级二级在线观看 | 日韩视频在线观看 | 国产毛片毛片毛片毛片 | 日韩一区二区免费看 | 激情成人综合 | 伊人精品在线观看 | 97在线视频观看 | 伊人草 | 伊人久久大香线蕉av色婷婷色 | 一区二区三区四区五区在线视频 | 国产一区欧美二区 | 日韩一区二区三区中文字幕 | 美国av大片 | 91免费版黄| 亚洲精品手机在线 | 国产成人综合av | 欧美精品在线播放 | 欧美高清| 我会温柔一点的日剧 | 久久日视频 | 123毛片 | 91高清无打码| 都市乱淫 | 麻豆精品一区 | 糖心视频在线 | 亚洲一区二区视频网站 | 日本三级午夜理伦三级三 | 久久综合精品视频 | 日本一级视频 | 天堂在线中文在线 | 96精品国产 | 国产传媒av| 熟妇的味道hd中文字幕 | 操天天操 | 欧美三级免费看 | 国产精品一区二区欧美 | 欧美1区 | 最新日韩在线 | 天天色av | 黑人玩弄人妻一区二区三区免费看 | 无码无套少妇毛多18pxxxx | 67194成人在线观看 | 18成人免费观看网站下载 | 国产黑丝在线 | 成人在线免费电影 | 欧美性久久 | 日韩在线精品视频一区二区涩爱 | h网站免费在线观看 | 嫩草av久久伊人妇女超级a | 国产一级片网址 | 国产黑丝在线 | 自拍偷拍一区二区三区 | 欧美一区二区久久久 | 国产区第一页 | 美女无遮挡免费网站 | 欧洲视频一区二区三区 | 日本超碰| 天堂资源站 | 女同一区二区 | 黑人av| 中文字幕免费中文 | 最新黄色在线 | 麻豆日产六区 | 婷婷欧美| 蜜桃av在线看 | 一区二区在线国产 | 人妻精品一区二区三区 |