# 《大营销平台系统设计实现》 - 营销服务 第20节:抽奖活动流程串联

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

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

  • 本章难度:★★★☆☆
  • 本章重点:提供抽奖API接口,串联整个抽奖过程的领域模块。
  • 课程视频:https://t.zsxq.com/19fVwshWT](https://t.zsxq.com/19fVwshWT)

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

# 一、本章诉求

到本节以抽奖为流程的各个领域模块已经开发完成,本章我们将串联各个模块提供抽奖API接口。

在一些较大规模的系统架构中,DDD 的分层结构中会有一个 case 层,也可以叫 application 层。专门用于对 domain 领域的编排。这一层引入后的优势是为复杂项目提供编排能力,提高领域模块的复用性。但缺点是会额外多出一组对象的转换来防腐,因为开发成本会有所增加。所以这部分要看具体的场景而定,看是否选择增加 case 编排层。

# 二、业务流程

  • 首先,我们在过往的开发中,我们提供了活动装配、策略装配,所以要单独为装配提供好一个接口来使用。
  • 之后,串联抽奖所需的过程模块,从参数校验、参与活动、抽奖策略、存放结果、更新订单,直至最终返回抽奖结果。

整体流程如下

  • 开发内容1;串联整个抽奖流程,提供 API
  • 开发内容2;提供以活动为主导的,预热装配动作
  • 开发内容3;抽奖策略模块中,校验账户额度。【之前的一个策略规则,需要根据已经抽奖次数进行解锁】
  • 开发内容4;存放抽奖结果后,更新用户参与活动时的抽奖单状态为已使用。