新年前最后一弹,发布一个抽奖工具

在正式开始介绍这个工具之前,先来讲一下这个工具的历史吧,唉,又勾起满满的回忆:)

它的第一个版本,如果没有记错的话,应该诞生在2010年冬天,记得当时所在公司的驻地是苏大冠名的一家科技产业园,产业园公司邀请所有园内企业参加那年的年终Party,晚会过程中会穿插抽奖环节,由于产业园里很多企业是做IT有关的产品与服务,所以希望抽奖环节能否弃用传统的抽奖箱方式,于是乎基于友情赞助,便写了这个工具的第一个版本。

紧接着下来的第二年,一个朋友向我要了这个工具,还提了一个新需求,能不能添加一个作弊功能,简单来说就是让某人必中某等奖,另外由于人员名单是现场签到输入,界面会被同时显示在投影仪上,所以作弊并不太方便,进而希望能不能作弊不被人看见?于是乎,便又增加了一个基于WML语言编写的WAP网站(因为那时候手机都支持WML,支持HTML的智能手机还并不多),以让作弊者使用手机来操作某人必中某等奖。该功能在现在的版本中,已经被拿掉,作弊实在太猥琐。

前几天机缘巧合之下,听说某公司会进行一场旧产品内部拍卖,于是想起了这个工具,便从尘封多年的笔记本中找出了源代码,顺便也升了个级。

好了,故事说完,谈正事,先说说工具大概提供的功能吧:

  1. 支持2种数据库,SQL Server和SQL CE,默认使用的是SQL CE,程序在首次运行时会自动创建数据库结构
  2. 自定义奖品名称,也就是一等奖,二等奖啥的
  3. 新建或修改一场抽奖活动,能够编辑此次活动包含哪些奖品和数量,以及允许指定每个人最多允许中奖几次(通常设置为1,即这个人中奖1次后,在这场活动中便不会再中奖)
  4. 单条输入或批量导入这场活动有哪些人参加,也就是说只有这些人可以参与抽奖
  5. 进行抽奖:
    1. 这批抽几个(假设三等奖100个,在抽奖时可以输入这批只抽20个)
    2. 从本场活动的人员名单中随机抽取
  6. 领奖,将人员勾选中以表示此人已经领取了奖品

下面以一个案例来较详细地演示一下整个流程,这里我直接以某公司的实际案例进行演示:某公司将于2019年2月某日将一批旧产品进行内部售卖,目前只有一种产品即54台笔记本电脑。

  • 首先,我们创建一个新的奖品名称:笔记本。
    1. 菜单路径:Award Level- New Award Level。
    2. 如果需要查看已经存在的奖品名称或进行修改,可以通过菜单路径:Award Level- Show All Award Levels。
      双击奖品名称可以修改为新的名称,勾选奖品前的方框,并点击Update按钮提交修改,也可以点击Delete按钮进行删除。
  • 下面我们来创建这次抽奖活动
    1. 活动名称:2019年旧笔记本电脑售卖。菜单路径:Term- New Term.
      Max Allowed Times: 这次活动中一个人最多允许被抽中的次数,通常设为1,即一个人只能被抽中一次。
      Award Settings: 这次活动有哪些奖项,每个奖项有多少奖品数量。我们仅勾选中笔记本,并且双击输入54台。
    2. 如果需要重新修改活动的参数,可以通过路径:Term- Show All Terms.
      鼠标双击某一行,可以打开修改窗口;也可以勾选中行前的方框,点击Update按钮同时打开多个修改窗口
  • 下面我们需要指定这场活动参加的人员名单。
    1. 通过路径Signature- Start Signing in,我们可以选择要签到的活动并录入人员名单。
      我们可以手动一个一个地录入人员名单,也可以选择通过点击Batch Signature按钮来导入人员名单列表文件,每行一个。


    2. 同样我们也可以通过菜单路径Signature- Show Signed来查看这场活动已经签到的人员名单,如果输入有误可以双击修改,如果需要也可以将签到记录删除
  • 做完以上准备工作以后,我们来正式进行抽奖。
    1. 我们首先打开抽奖的第一个窗口,通过路径Award Record- New Award Record,我们选择此刻需要抽奖的活动名称,会列表出此场活动所有的奖项名称,以及每个奖项已被抽走多少数量,还剩多少数量。双击某行打开该奖项的抽奖窗口(也可以通过点击Start lucky draw按钮来同时打开多个抽奖窗口)
    2. 紧接着会弹出下面窗口,需要你输入这次抽几个。我们知道在实际的抽奖活动中,往往有些奖项的奖品数量比较多,需要在多个环节进行抽取,可能每次只抽取10名,比如三等奖。
      点击Start按钮正式开始抽奖。
    3. 此时会显示下面抽奖窗口,点击Start按钮,界面会随机循环跳动签到人员名单,点击Stop按钮,被抽中人员名单将会显示。该窗口会根据抽奖数量对字体的大小进行一些简单的适应。
    4. 最后一个步骤,领奖品环节,通过菜单路径Award Records- All Award Records,将显示这场活动所有的中奖人员名单,倘若勾选 Picked,则表示对应奖品已经被该中奖人员领走。通过勾选Everybody picked it up,可以将当前所有显示的人员名单进行勾选(不包括被过滤的)。如果中奖名单很长,也能够通过Signature Name/ Prize Level Filter来进行过滤。

解压密码:me.zhuoyue.me

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.