卡包开发步骤

卡包开发步骤

开发步骤

  • 需求规划,需求拆解,需求辩论
  • 技术选型:为什么是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