卡包开发步骤

卡包开发步骤

开发步骤

  • 需求规划,需求拆解,需求辩论
  • 技术选型:为什么是HBase or MySQL
  • 工程设计:工程图各个模块设计的功能点,各个功能点涉及的技术
  • 编码
  • 测试:功能测试,压力测试
  • 部署:自动化上线

开发技术

  • kafka 消息队列
  • Mysql存储商户信息
  • HBase存储用户信息
  • Spring-boot 搭建项目
  • Redis存储Token信息

测试用例

测试上线

应用技术分层

  • 框架层:Spring-boot
  • 存储层:MySql,HBase,Redis
  • 消息队列:Kafka

基础工具介绍:

  • Maven
  • PostMan/RestAPI

需求分析:

功能需求解析:

  • 什么是卡包应用:卡券收集聚合类应用
  • 包含哪些子系统:商户投放子系统,用户使用子系统
  • 优惠卷使用方法:展示型,兑换型,token核销型
  • 扩展:存储纪念性卡券,身份证件信息,银行卡

我的卡包:

  • 我的卡包(显示我领取的优惠券,临近过期时需要提醒)
  • 过期优惠券(显示过期优惠券)
  • 优惠券库存:可以领取商家投放的优惠券,每个优惠券只能领取一张(可以改一下?)
  • 用户反馈:分为卡包应用反馈和优惠券反馈

商户投放系统

商户接口字段:

name商户名
logo_url商户logo
business_license_url商户营业执照
phone商户联系电话
address商户地址
is_audit商户是否通过审核

优惠券接口字段:

id所属商户Id
title优惠卷标题
summary优惠卷摘要
desc优惠卷详细信息
limit最大发放总数个数限制
has_token是否具有token
background优惠卷背景颜色
start/end优惠卷 开始/结束 时间

应用架构

表结构设计

Mysql

name商户名
logo_url商户logo
business_license_url商户营业执照
phone商户联系电话
address商户地址
is_audit商户是否通过审核

HBase

passtemplate

id所属商户Id
title优惠卷标题
summary优惠卷摘要
desc优惠卷详细信息
has_token是否具有token
background优惠卷背景颜色
limit最大发放总数个数限制
start/end优惠卷 开始/结束 时间
pass
———-———————
user_id优惠卷所属用户
template_id优惠卷id用于映射具体的优惠卷信息
token优惠卷token,不存在为-1
assigned_date领取日期
con_date消费日期
feedback
———-———————
user_id评论所属用户
template_id如果type标识此评论针对优惠卷,则需要指出优惠卷id
type标识此评论针对卡包还是优惠卷
comment评论内容
user
———-———————
name用户名
age用户年龄
sex用户性别
phone用户手机号
address用户地址

开发步骤

  • 修改配置文件
  • 定义数据结构:merchants.sql
  • 定义常量类以及枚举类
  • 定义Token拦截器,去拿到每个请求中header中的token字段
  • 定义实体类,与merchants.sql中的字段对应
  • 定义dao接口,继承JpaRepository<Merchants, Integer>
  • vo的编写,除了属性,还需要验证对象的有效性,以及对象的转换(vo->entity/pojo)

CC BY-NC 4.0

操作系统小记
前端

Comments