[关闭]
@qq286531097 2017-07-19T02:29:18.000000Z 字数 963 阅读 224

大转盘逻辑(营销)

京东积分商城


前台逻辑

1.采用相同的比例展示抽奖物品

1.视觉上觉得概率形同

2.抽奖后的提示逻辑

抽奖情况 提示 逻辑
抽中 恭喜抽中,请到会员中心进行兑换 会员中心作为统一兑奖地点
未中 很遗憾,未中奖 继续用积分抽

3.会员中心兑换逻辑

时间线 显示 判断逻辑
点击奖品兑换 未兑换 显示用户的抽奖的商品
点击兑换 跳转到结算页面 无需支付,页面展示需付0
点击已兑换 显示兑换详情 跳转到对应的订单详情

后台逻辑

判断逻辑

判断条件 说明
抽奖概率 每个奖品的中奖概率
兑换数目 每个奖品总的兑奖数目
单人中奖区间(时间) 天/小时
单人区间中奖次数 每个时间段内的中奖次数

核心算法

1.概率算法

数据输入(奖品ID和概率组成的数据)

  1. Array
  2. (
  3. [0] => 30
  4. [2] => 20
  5. [1] => 20
  6. [3] => 20
  7. [4] => 10
  8. )

概率换算(区间判断,筛选出随机区间)(注意第10行)

  1. public function getRand($proArr){
  2. $result = "";
  3. $proSum = array_sum($proArr);
  4. foreach ($proArr as $key => $proCur) {
  5. $randNum = mt_rand(1, $proSum);
  6. if ($randNum <= $proCur) {
  7. $result = $key;
  8. break;
  9. } else {
  10. $proSum -= $proCur;
  11. }
  12. }
  13. unset ($proArr);
  14. return $result;
  15. }

表结构

积分规则表

syspromotion_lottery

字段 描述 备注
lottery_id id 主键
lottery_name 活动名称
lottery_desc 活动描述
lottery_point_num 兑换抽奖所需积分
lottery_rules 奖项设置规则 核心字段(序列化的规则,判断时会转成数组)

转盘抽奖结果列表

syspromotion_lottery_result

字段 描述 备注
result_id 获奖ID
lottery_id 转盘ID 类似外键(关联ID,和积分表多对一)
user_id 会员ID
bonus_type 奖项类型 目前就一个(item/商品)
item_id 商品ID
receive_status 奖品状态 issue(已发放)/receive(已领取)
logistics_status 物流状态 wait_send_goods(等待发货)/send_goods(已发货)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注