zoukankan      html  css  js  c++  java
  • 关于年会抽奖那些事

    http://blog.chinaunix.net/uid-11121450-id-3480134.html快春节了,各个公司都陆续举办年会,ipad作为年会抽奖的大奖都卖脱销了,在年会抽奖出现尴尬的是:抽奖抽多了,没有奖品可发。

    我昨天总结了在开发过程中遇到的抽奖问题

    1.抽奖类型

    1.1 即开型
    提交后立即知道是否中奖:大转盘,老hu机

    1.2 公证型

    由公证处公证,现场抽奖

    1.3投票型

    根据投票数最高排名,选出中奖者
    1.4 评选型
    由客户根据作品质量选取

    这四种类型中出现错误时,最难处理的顺序是:危险性:即开型>公证型>投票型>评选型

    2.抽奖要素

    2.1 即开型
    奖品、概率、中奖时段、中奖规则(微博粉丝数,是否可以重复中奖,…)、如何获取中奖用户信息、通知中奖方式
    2.2 公证型
    奖品、概率 、如何获取中奖用户信息、通知中奖方式,中奖规则(微博粉丝数,是否可以重复中奖,…)
    2.3 投票型
    奖品、投票限制(每天每人或者ip每个作品只能投票10次…)、防止刷票(验证码) 、如何获取中奖用户信息、通知中奖方式
    2.4 评选型

    奖品、如何获取中奖用户信息、通知中奖方式

    3.抽奖流程

    4.注意事项

    1)奖品不能够发多
    2)奖品类型不能混淆
    3)尽量在一次请求内完成抽奖
    4)多步即时开奖时,每一步之间用uuid关联(或者session),不能够使用用户id或者别的自增的id,必须保证id不能够被猜出来。
    5)投票一定得考虑刷票现象,最好使用中文验证码
    6)抽奖过程中若是出现异常,一定得有返回值,返回值一定是“不中奖”
    7)若是出现数据库错误,一定回滚
    8)抽奖的每一步最好记录到日志文件中,以备检查
    9)抽奖程序里的时间必须是一个,应该是在程序开始时记录一个时间戳,所有涉及到时间的地方都用这个时间,不能够在不同的sql语句中使用now,否则出现在同一个程序里跨天的问题
    10)一定得使用POST方式提交数据
    11)数据库里的中奖标志只能是一个字段

    12)中奖名单页面中查询一般是中奖标志加上时间段或者奖品分类

    5.抽奖概率算法

    假设 一等奖几率:1/1000,二等奖几率:1/100
    1)设定基数是1000
    2)产生一个0…999的随机数
    3)若是这个数小于1则中一等奖
    4)若是这个数小于1+10,则中二等奖
    5)否则不中奖

  • 相关阅读:
    SQL 高级查询(层次化查询,递归)
    IntelliJ IDEA添加注释常用的快捷键
    java配置环境变量
    Python单例模式的4种实现方法 ++ redis pool的一种单例实现方式
    MYSQL安装配置文件my-small.ini、my-medium.ini、my-large.ini、my-huge.ini文件的作用
    flask中使用flask-sqlalchemy
    Python向Mysql写入时间类型数据
    [慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时
    Cocos2d-x 3.2 创建新应用
    In-App Purchase Programming Guide----(六) ----Working with Subscriptions
  • 原文地址:https://www.cnblogs.com/svennee/p/4089791.html
Copyright © 2011-2022 走看看