线下兑奖系统架构设计

线下兑奖作为微服务架构体系的一子系统主要提供线下营销辅助功能,这些功能包括,兑奖、换购和店铺/批发商补货等

2019/10/11 下午4:23:55

(引用自原文:https://mp.weixin.qq.com/s/htRgwo59poarcKIml19DgA)

概述

本文主要描述微服务架构系统之线下兑奖子系统的架构设计。线下兑奖作为微服务架构体系的一子系统主要提供线下营销辅助功能,这些功能包括,兑奖、换购和店铺/批发商补货等。

 

缩略语

AwardExchanging线下兑奖子系统

Authentication:身份验证

Authorization:权限验证

DataModel: 数据模型

 

设计思想

线下兑奖子系统负责提供子系统所需的数据计算,它是云平台系统的组成部分,其资源受云平台的安全中心管控。微信微服务则负责终端用户访问时微信小程序执行身份验证与授权。

线下兑奖服务

云平台基于微服务架构搭建,线下兑奖子系统的存在方式是基于该架构体系子元素出现,通过API方式对内部或外部提供功能。

微信小程序

微信小程序提供用户端,批发商、店铺店员、消费者等通过小程序页面交互功能使用该系统。

微信公众号

微信小程序基于微信号和微信公众号方式实现身份验证。

 

架构图

以下线下兑奖子系统架构设计示意图:

  

1、微信微服务

微信微服务,主要负责终端用户身份验证/授权,微信用户管理、公众号管理

2、微信小程序客户端

终端用户通过微信小程序页面访问线下兑奖子系统,终端用户主要角色:批发商、店铺、消费者

3、API 层

API层是”线下兑奖“以微服务方式提供的对外访问接口,比如:注册/登录API,批发商管理API、店铺管理API、补货API等

4、服务层

服务层主要负责业务逻辑实现为API层提供支持

5、数据访问层

数据访问层负责数据库访问、数据处理、数据操作等。

6、数据库

保存系统用到的所有原始数据、配置信息以及其他备用信息等。

 

核心业务流程

线下兑奖子系统主要包含,身份验证,微信用户授权,安全保护,兑换奖品及补货等核心业务。

身份验证

终端用户登录微信小程序时接受微信微服务身份验证与微信公众号授权。

微信用户授权

微信用户需通过微信公众号授权。

安全保护

安全中心负责给合法的客户端颁发安全令牌,受保护资源只有携带安全令牌的客户端才能访问。

兑换奖品

消费者通过扫店铺门牌码进行兑换奖品。

补货

店铺为消费者兑换奖品导致的商品销出,批发商为店铺补充商品。

 

接口设计

微信小程序通过内部接口访问线下兑奖的所有数据。

 

开发测试环境 

http://localhost:140/swagger/index.html

产环境 

http://www.feedeem.com:140/swagger/index.html

 

数据模型设计

数据模型是数据特征的抽象。数据是描述事物的符号记录,模型是现实世界的抽象。数据模型从抽象层面描述了架构系统的静态特征和约束条件。

线下兑奖系统核心数据模型包括:访问入口、奖品、商品、批发商、批发商业务员、店铺、店铺销售员、补货、用户、角色、用户奖品等。

以下数据模型设计图描述了以奖品、店铺及批发商为核心的数据模型关系: