# 《大营销平台系统设计实现》 - 营销服务 第5节:抽奖前置规则过滤

作者:小傅哥
博客:https://bugstack.cn (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

  • 本章难度:★★★☆☆
  • 本章重点:实现抽奖前置权重和黑名单规则,在用户抽奖前进行规则过滤。本节会使用到模板模式、策略模式、工厂模式,来实现功能。
  • 课程视频https://t.zsxq.com/16dJZhoR0 (opens new window)

版权说明:©本项目与星球签约合作,受《中华人民共和国著作权法实施条例》 (opens new window) 版权法保护,禁止任何理由和任何方式公开(public)源码、资料、视频等内容到Github、Gitee等,违反可追究进一步的法律行动。

# 一、本章诉求

在我们的流程设计中,用户执行抽奖时会判断是否已经超过N积分,如果超过N积分则可以在限定范围内进行抽奖。同时如果用户是黑名单范围的羊毛党用户,则只返回固定的奖品ID。

这一章节的实现中则会涉及到工厂和策略定义出来的规则模型,并满足后续的规则扩展。再通模板模式定义出抽奖的基本过程,来使用抽奖规则。

# 二、流程设计

在流程实现中,我们需要按照规则和抽奖,两个部分的功能进行边界拆分。这样可以满足后续功能的扩展添加,不至于影响全部流程的。

  • 整个规则来说,分为抽奖前、抽奖中、抽奖后,三个阶段执行。本节我们先来处理抽奖前的规则。
  • 在工程分包上,需要添加 rule 来处理抽奖规则,在添加 raffle 处理抽奖过程。