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

图片

文/郑江南

编辑/杜逸敏

一、故事背景

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

二、搭建目标

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

三、搭建步骤

1.整理框架及业务对象

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

图片

2.整理奖励规则

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

3.动手搭建

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

图片

图片

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

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

图片

图片

图片

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

图片

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

图片

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

图片

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

图片

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

4.优化完善

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

图片

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

图片

图片

四、结语

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

关于明道云

明道云是一个创新的超级应用平台,可以帮助用户零代码构建企业应用,用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据。明道云还具备超自动化引擎,可以全面自动化复杂和重复的业务流程。运用明道云的集成中心与完整的API对接能力,用户可以轻松地将明道云与外部系统集成。除此之外,明道云超级应用平台还具备很高的可组合性,国际化支持,并支持云原生架构,实现了多云部署能力。通过插件架构,明道云正在逐步建立起繁荣的实施与开发生态。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数字化平台,是企业数字化建设的重要工具。目前已有上百万用户使用,付费企业超过4000家,包括可口可乐、复星集团、中国移动、中国联通、中国电信、中铁集团、北京地铁、佛山铁路、华夏银行、民生银行、迪卡侬、艾默生电气、泰科电子、四川航空、东方证券、万豪酒店、洲际酒店等知名客户。

2021年5月,明道云获得海纳亚洲近亿元投资。公司目前有超过130名员工,产品研发团队过半,总部位于上海漕河泾开发区,在北京、广州、深圳、成都、郑州、武汉、西安和宁波设有分支机构。公司为高新技术企业,上海市专新特精认定企业。