发挥创意,用明道云构建随机概率抽奖应用

图片

文/郑江南

编辑/杜逸敏

一、故事背景

明道云可以通过零代码的方式,搭建出各种各样的场景。我之前就想用明道云做一个创新型的小应用,可是一直没有好的想法。有一次,当我们团队内部提出要有奖励机制的时候,我就想到了一个好玩儿又有创意的小场景——盲盒抽奖。

二、搭建目标

  1. 搭建出一个抽奖闭环流程的应用。
  2. 在不同奖励条件下,奖励概率也会随之调整。

三、搭建步骤

1.整理框架及业务对象

首先,我们需要明确在抽奖流程中可能会涉及到的业务对象,主要是基础数据和抽奖记录两个方面。当然,这里面会有一些配置辅助表来实现奖励概率的可配置化,以下是整理后的一个架构示意图。

图片

2.整理奖励规则

在动手搭建之前,我们可以预设好奖励制度,随机抽奖的方式,比如:等概率随机、权重随机以及根据次数调整的伪随机。规则多样,方法不同,我这里想实现的主要还是以不同权重下,划分不同权重的方式,来进行随机抽奖。

3.动手搭建

根据结构示意图,利用字段拖拉拽的方式,我们快速配置好工作表单,包括各种字段属性,以及表单之间的关联。

图片

图片

设置奖项。每种奖项在不同的规则条件下,中奖概率是不同的。所以我们需要构建出规则表,方便后面在抽奖时,利用规则条件判断后计算出相应的概率。

录入相关的数据,我们的整体框架就出来了。

图片

图片

图片

接下来就是我们最关键的一步,通过工作流的配置,结合概率去随机抽取概率明细。点击抽奖记录上的抽奖按钮去触发工作流。

图片

根据抽奖记录上的奖励规则,获取这个规则下所有的概率明细数据,并用公式节点去计算所获取到的条数。这个条数会在后面算概率的时候用到。

图片

然后,通过代码块节点去计算抽奖概率。对于技术人员来讲,这个代码比较简单,对于业务人员来讲或许有点难度。所以小编我也在这里为大家贴出了这一段代码,供大家参考(如果有更好的代码,也欢迎分享)。

图片

原理就是把获取到的所有明细数据的概率,以元组的方式排列起来,从中随机抽取一个,并输出它的序列号。需要注意的是,这里输出的是序列号,而不是概率本身,所以,我们可以在工作表里增加一个序号字段来与之匹配。

图片

之后的配置就很简单了,用查询单条的工作流节点,去查找对应的概率明细记录,并更新到抽奖记录上去。这样我们就通过点击一个按钮来实现概率比例的抽奖啦!让我们看下效果。

4.优化完善

每一次的中奖金额都应该累计在成员的纪录表上,实际奖励也需要确认动作去累计奖金的实际发放,这样也方便后续的统计和记录。当然,如果不是奖金的奖励,那就不需要去累计金额了。

图片

概率的维护也可以优化,我们可以分配好权重,通过工作流去自动计算出每一项的概率。这样管理员维护数据也更加方便,交互更加友好。

图片

图片

四、结语

这就是通过明道云来搭建的一个简单的抽奖小应用的实现方法,场景虽小,但很实用。我们团队的奖励机制依托这个小应用有效地实行起来了,并且可追溯、使用方便,盲盒的概念也能激起大家别样的兴趣。希望这样的一个小场景,能启发大家的思路,做出更多有创意、有想法的应用来!

关于明道云

明道云(www.mingdao.com)成立于2013年,位于上海,创始人为互联网知名人士任向晖先生。明道云是一个APaaS平台,帮助企业快速搭建个性化业务应用。用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据,也能够通过API和Webhook和其他系统对接。

明道云的自动化工作流还可以实现审批、填写等控制流程和业务自动化。如果用户企业使用钉钉或企业微信,也可以将明道云搭建的应用直接对接到工作台上。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数据中台,并提高整体数字化和智能化水平。目前已有上百万用户使用,付费企业超过4000家,典型客户包括:中铁三局、佛山地铁、普华永道、艾瑞咨询、迪卡侬、北京大学、四川航空、上海静安区街道、艾默生电子、西门子、杭州建筑设计研究院、七天四季酒店、希尔顿、凯宾斯基酒店、可口可乐等知名机构。了解更多