手记

营销模块数据库表解析(二)

SpringBoot实战电商项目mall(20k+star)地址:https://github.com/macrozheng/mall

摘要

本文主要对优惠券功能相关表进行解析,采用数据库表与功能对照的形式。

相关表结构

优惠券表

用于存储优惠券信息,需要注意的是优惠券的使用类型:0->全场通用;1->指定分类;2->指定商品,不同使用类型的优惠券使用范围不一样。

create table sms_coupon  
(  
  id bigint not null auto_increment,  type int(1) comment '优惠卷类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券',  
  name varchar(100) comment '名称',  
  platform int(1) comment '使用平台:0->全部;1->移动;2->PC',  
  count int comment '数量',  
  amount decimal(10,2) comment '金额',  
  per_limit int comment '每人限领张数',  
  min_point decimal(10,2) comment '使用门槛;0表示无门槛',  
  start_time datetime comment '开始使用时间',  
  end_time datetime comment '结束使用时间',  
  use_type int(1) comment '使用类型:0->全场通用;1->指定分类;2->指定商品',  
  note varchar(200) comment '备注',  
  publish_count int comment '发行数量',  
  use_count int comment '已使用数量',  
  receive_count int comment '领取数量',  
  enable_time datetime comment '可以领取的日期',  
  code varchar(64) comment '优惠码',  
  member_level int(1) comment '可领取的会员类型:0->无限制',  
 primary key (id)  
);  

优惠券历史记录表

用于存储会员领取及使用优惠券的记录,当会员领取到优惠券时,会产生一条优惠券的记录,需要注意的是它的使用状态:0->未使用;1->已使用;2->已过期。

create table sms_coupon_history  
(  
  id bigint not null auto_increment,  coupon_id bigint comment '优惠券id',  
  member_id bigint comment '会员id',  
  order_id bigint comment '订单id',  
  coupon_code varchar(64) comment '优惠券码',  
  member_nickname varchar(64) comment '领取人昵称',  
  get_type int(1) comment '获取类型:0->后台赠送;1->主动获取',  
  create_time datetime comment '创建时间',  
  use_status int(1) comment '使用状态:0->未使用;1->已使用;2->已过期',  
  use_time datetime comment '使用时间',  
  order_sn varchar(100) comment '订单号码',  
 primary key (id)  
);  

优惠券和商品的关系表

用于存储优惠券与商品的关系,当优惠券的使用类型为指定商品时,优惠券与商品需要建立关系。

create table sms_coupon_product_relation  
(  
  id bigint not null auto_increment,  coupon_id bigint comment '优惠券id',  
  product_id bigint comment '商品id',  
  product_name varchar(500) comment '商品名称',  
  product_sn varchar(200) comment '商品条码',  
 primary key (id)  
);  

优惠券和商品分类关系表

用于存储优惠券与商品分类的关系,当优惠券的使用类型为指定分类时,优惠券与商品分类需要建立关系。

create table sms_coupon_product_category_relation  
(  
  id bigint not null auto_increment,  coupon_id bigint comment '优惠券id',  
  product_category_id bigint comment '商品分类id',  
  product_category_name varchar(200) comment '商品分类名称',  
  parent_category_name varchar(200) comment '父分类名称',  
 primary key (id)  
);  

管理端展现

优惠券列表

编辑优惠券

全场通用

指定商品

指定分类

查看优惠券

移动端展现

我的优惠券

未使用

已使用

已过期

优惠券详情

关于作者

macrozheng 【id:macrozheng】
专注Java技术分享,mall项目全套学习教程连载中,作者Github项目mall(20k+star)

1人推荐
随时随地看视频
慕课网APP