1. 需求
1)在一场营销抽奖活动玩法中,运营人员通常会配置以转盘、盲盒等展现形式的抽奖玩法。
2)抽奖可配置不同的策略:当1个奖品被抽空了以后,那么再抽奖时,是剩余的奖品总概率均匀分配在11个奖品上,还是保持剩余11个奖品的中奖概率,如果抽到为空的奖品则表示未中奖。
3)转盘中可配置多个奖品,每个奖品配置不同的中奖概率。
2. 数据库表设计
todo:ER图,
关系模型:
活动(活动id,活动名称,策略id)
抽奖策略(策略id,策略描述,计算方式)
策略详情(详情id,策略id,奖品id,中奖概率)
奖品(奖品id,奖品名称,奖品库存)
3. 抽奖执行流程;
1)从数据库获取策略配置信息
2)校验和初始化数据(根据策略信息维护一个概率列表)
todo:抽奖策略示意图
3)根据配置的策略方式抽奖
4)获取奖品信息
4. 类图
5. 实现
基础服务层:提供dao服务
领域层:提供抽奖领域服务