跳至主要內容
luckydraw-ddd 05-简单工厂搭建发奖领域

学习目的

【1】数据库规范:数据库整改、dao层调整

【2】发奖领域构建、重温简单工厂模式

参考分支 210904_xfg_award
开发分支 dev_220118_01_award

1.需求分析


holic-x...大约 5 分钟项目luckydraw-ddd
luckydraw-ddd 07-ID生成领域开发

学习目的

【1】构建ID生成领域:根据不同场景分析不同ID策略的应用

【2】掌握ID生成策略:使用雪花算法、阿帕奇工具包 RandomStringUtils、日期拼接,三种方式生成ID,分别用在订单号、策略ID、活动号的生成上

参考分支 210911_xfg_IdGenerator
开发分支 dev_220119_02_IdGenerator

holic-x...大约 5 分钟项目luckydraw-ddd
luckydraw-ddd 04-模板模式处理抽奖流程

学习目的

【1】基于模板设计模式,规范化抽奖执行流程

【2】掌握抽奖流程和相应的业务逻辑

【3】以抽奖业务流程功能开发为参考,进一步了解基于ddd的功能开发流程

参考分支 210828_xfg_subtractionStock
构建分支 220117_03_subtractionStock

holic-x...大约 6 分钟项目luckydraw-ddd
luckydraw-ddd 06-活动领域的配置和状态

学习目的

【1】活动流转状态梳理

【2】活动领域构建

参考分支 210911_xfg_activity
开发分支 dev_220119_01_activity

1.需求分析

​ 开发活动领域部分功能,包括:活动创建、活动状态变更。主要以 domain 领域层下添加 activity 为主,并在对应的 service 中添加 deploy(创建活动)、partake(领取活动,待开发)、stateflow(状态流转) 三个模块。以及调整仓储服务实现到基础层


holic-x...大约 13 分钟项目luckydraw-ddd
luckydraw-ddd 01-DDD项目环境构建

1.环境、配置、规范说明

开发环境

JDK 1.8
SpringBoot 2.6.0
Dubbo 2.7.10
DB-ROUTER 自研分库分表路由组件,带着你一起写个SpringBoot Starter
vue 开发H5大转盘抽奖
微信公众号 对接提供API,回复抽奖
Docker 本地和云服务
其他所需环境:mysql\kafka\zk\redis\xxl-job

holic-x...大约 14 分钟后端luckydraw-ddd
luckydraw-ddd 03-抽奖策略领域模块开发

​ 架构分层、逻辑设计、代码流程

学习目的

【1】掌握抽奖策略领域模块开发基本流程、概念梳理(对比MVC、DDD模块开发的设计理念)

【2】掌握抽奖算法场景应用和两种不同策略算法的实现思路

【3】结合单体概率算法思路自定义实现算法逻辑基本框架

【4】学习过程问题反思、扩展、总结

1.需求分析

需求:在一场营销抽奖活动玩法中,运营人员通常会配置以转盘、盲盒等展现形式的抽奖玩法。例如在转盘中配置12个奖品,每个奖品配置不同的中奖概率,当1个奖品被抽空了以后,那么再抽奖时,是剩余的奖品总概率均匀分配在11个奖品上,还是保持剩余11个奖品的中奖概率,如果抽到为空的奖品则表示未中奖。其实这两种方式在实际的运营过程中都会有所选取,主要是为了配合不同的玩法。


holic-x...大约 18 分钟项目luckydraw-ddd
luckydraw-ddd系统说明

Lottery 抽奖系统 项目是一款互联网面向C端人群营销活动类的抽奖系统,可以提供抽奖活动玩法策略的创建、参与、记账、发奖等逻辑功能。在使用的过程中运营人员通过创建概率类奖品的抽奖玩法,对用户进行拉新、促活、留存,通常这样的系统会用在电商、外卖、出行、公众号运营等各类场景中。

名称 系统 作用
分布式核心功能服务系统 Lottery 提供抽奖业务领域功能,以分布式部署的方式提供 RPC 服务。
网关API服务 Lottery-API 网关服务,提供;
H5 页面抽奖、公众号开发回复消息抽奖
C端用户系统 lottery-front vue H5 lucky-canvas 大转盘抽奖界面,讲解 vue 工程创建、引入模块、开发接口、跨域访问和功能实现
B端运营系统 Lottery-ERP 满足运营人员对于活动的查询、配置、修改、审核等操作。
分库分表路由组件 db-router-spring-boot-starter 本项目依赖自研分库分表组件,需要下载后构建 开发一个基于 HashMap 核心设计原理,使用哈希散列+扰动函数的方式,把数据散列到多个库表中的组件,并验证使用。
测试验证系统 Lottery-Test 用于测试验证RPC服务、系统功能调用的测试系统。

holic-x...大约 3 分钟项目luckydraw-ddd
码农开发规范

学习总结

​ 了解大厂开发技术栈、规范、流程等相关内容,从系统需求分析、系统架构设计、系统开发、上线维护等掌握系统开发流程规范,后续结合相关的系统应用开发掌握相关技术栈的应用和开发流程规范

1.开发技术栈

互联网分布式技术图

2.角色介绍


holic-x...大约 11 分钟项目luckydraw-ddd