目录

券模板基础信息定义

优惠券类型

优惠券门槛

优惠券面值/折扣率,折扣金额上限

有效期

自定义使用限定

使用时间限定

可用商品限定

可用门店限定

券模板主表结构


券模板设计类似于商品SKU,定义了一个券模板后,发券操作可以基于同一个券模板实现发放同一种优惠券给多个不同的用户。

券模板基础信息定义

一张优惠券的基础信息,例如常规的名称,类型,面值等等。下面罗列一些有逻辑含义的字段。

优惠券类型

  • 立减券: 无门槛或有门槛的满减券,达到使用门槛后可以立减指定金额。
  • 折扣券:按商品价格减免指定比例的价格

优惠券门槛

  • 无门槛: 任意金额可以用券
  • 有门槛:购买商品金额达到券门槛后可以使用券

优惠券面值/折扣率,折扣金额上限

  • 面值对应立减券,如满10减5的立减券,面值就是5元。
  • 折扣率对应折扣券,例如满99打8折券,折扣率就是80%。
  • 折扣金额上限是对应折扣券 限制当前券的上限优惠金额,例如满99打8折券上限50元,则最多可以对250元的商品进行折扣优惠。

有效期

  • 获取时生效+固定有效期: 领券后立即生效,有效期为 [领券时间,领券时间+固定有效期天数]
  • 获取后定时生效+固定有效期:领券后多少天后生效,有效期为 [领券时间+指定天数,领券时间+指定天数+固定有效期]
  • 指定范围有效期: 与领券时间无关,有效期为 [指定生效开始时间,指定结生效束时间]

自定义使用限定

除了券的门槛和有效期基本使用限制外,还可以自定义增加一些其他条件的限制,例如使用时间,可使用的商品,,门店等。

使用时间限定

指的是在券有效期内同时再使用限定规则指定的日期或时间才可以使用。两种限制也可以一起使用

  • 可用日期: 指定周一到周日任意一天或多天,法定节假日是否可用。
  • 可用时间段:指定0:00:00-23:59:59内任意一个或多个时间段,一段可以设为固定半小时。

可用商品限定

  • 全部商品可用: 所有商品都可以用这种券抵扣
  • 指定商品可用: 仅限于购买指定的商品才可以用这种券抵扣
  • 指定商品不可用:指定的商品不可以用这种券抵扣

可用门店限定

  • 指定门店可用
  • 指定门店不可用
  • 不指定 

券模板主表结构

基于上面罗列的一些基础信息和自定义限定条件,券模板主表的初步设计如下。

其中calculate_rule_no是券面额和门槛信息配置表关联外键 。

time_rule_no,shop_rule_no,product_rule_no对应使用后日期,门店和商品限定规则的关联外键,对于限定规则由新的表存储。这几个限定配置的设计也可以用JSON格式实现,关联表的方式扩展成本高但是实现难度低

-- 优惠券模板主表
CREATE TABLE `coupon_template` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`template_no` varchar(32) NOT NULL COMMENT '优惠券模板编号',`coupon_name` varchar(64) DEFAULT NULL COMMENT '优惠券名称',`coupon_subtitle` varchar(64) DEFAULT NULL COMMENT '优惠券副标题',`coupon_image` varchar(255) DEFAULT NULL COMMENT '优惠券图片',`coupon_desc` varchar(1024) DEFAULT NULL COMMENT '优惠券说明',`coupon_type` int(2) DEFAULT NULL COMMENT '优惠券类型 (10.立减券 20.折扣券 30.免打包费券 40.免配送费券 50全免券 60团购套餐券)',`coupon_expiry_type` tinyint(1) DEFAULT NULL COMMENT '优惠券有效期期类型 1.获取时候计算 2.指定周期 3.获取后多少天生效',`coupon_after_days` int(10) DEFAULT NULL COMMENT '领取后多久生效 对应coupon_expiry_type为3时',`coupon_plus_days` int(10) DEFAULT NULL COMMENT '有效时长 对应coupon_expiry_type为1或3时有值,发券时可用于动态计算有效期',`coupon_start_time` datetime(3) DEFAULT NULL COMMENT '优惠券有效期开始时间,coupon_expiry_type为2时有值',`coupon_end_time` datetime(3) DEFAULT NULL COMMENT '优惠券有效期结束时间,coupon_expiry_type为2时有值',`time_rule_no` varchar(32) DEFAULT NULL COMMENT '使用日期和时间段限定配置关联外键',`calculate_rule_no` varchar(32) DEFAULT NULL COMMENT '券门槛面额信息关联外键',`shop_type` tinyint(1) DEFAULT '0' COMMENT '门店规则(0.无限制 1.指定商品门店 2.指定门店不可用)',`shop_rule_no` varchar(32) DEFAULT NULL COMMENT '门店限定规则编号,用于关联门店限定规则表',`product_type` tinyint(1) DEFAULT '0' COMMENT '商品规则(0.无限制 1.指定商品可用 2.指定商品不可用)',`product_rule_no` varchar(32) DEFAULT NULL COMMENT '商品限定规则关联外键,当product_type时不是0时对应有值',`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间',`modify_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),KEY `idx_product_rule_no` (`product_rule_no`),KEY `idx_template_no` (`template_no`),KEY `idx_use_rule_no` (`shop_rule_no`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='优惠券券模板';
-- 优惠券门槛和面额/折扣率配置
CREATE TABLE `coupon_template_calculate_rule` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`rule_no` varchar(32) NOT NULL COMMENT '编号',`template_no` varchar(32) NOT NULL COMMENT '优惠券模板编号',`trigger_condition` decimal(12,2) DEFAULT '0.00' COMMENT '使用门槛条件',`trigger_operation` int(2) DEFAULT NULL COMMENT '操作类型(10.立减 20.折扣)',`trigger_value` decimal(12,2) DEFAULT '0.00' COMMENT '面值/折扣率',`trigger_limit` decimal(12,2) DEFAULT '0.00' COMMENT '折扣最大金额限制',`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间',`modify_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),KEY `idx_rule_no` (`rule_no`),KEY `idx_template_no` (`template_no`)
) ENGINE=InnoDB AUTO_INCREMENT=597 DEFAULT CHARSET=utf8mb4 COMMENT='券门槛面额配置表';
-- 商品限定配置表
-- effect_type为0的记录表示对应的商品编号或分类编号的商品被限定规则生效
-- effect_type为1的记录表示对应的商品被限定规则排除 这种情况一般是从限定的分类下排除某个商品
-- 具体是限定可用还是限定不可用取决于模板主表的product_type字段
CREATE TABLE `template_product_rule` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`rule_no` varchar(32) NOT NULL COMMENT '规则编号',`template_no` varchar(32) NOT NULL COMMENT '优惠券模板编号',`category_code` varchar(50) DEFAULT NULL COMMENT '分类编号 分类被限定时有值',`spu_code` varchar(50) DEFAULT NULL COMMENT '商品编号 商品限定或排除时有值',`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间',`modify_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',`effect_type` tinyint(1) DEFAULT '0' COMMENT '作用类型 0:限定 1:排除,排除仅用于排除产品',PRIMARY KEY (`id`),KEY `idx_rule_no` (`rule_no`),KEY `idx_template_no` (`template_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品限定配置表';-- shop_code记录的门店被限定 具体是限定可用还是限定不可用由模板主表中的shop_type决定
CREATE TABLE `template_shop_rule` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`rule_no` varchar(32) NOT NULL COMMENT '规则编号',`template_no` varchar(32) NOT NULL COMMENT '优惠券模板编号',`shop_code` varchar(1024) DEFAULT NULL COMMENT '门店编号 多个用,隔开',`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间',`modify_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),KEY `idx_rule_no` (`rule_no`),KEY `idx_template_no` (`template_no`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='门店限定规则表';
-- 优惠券使用日期范围和时间段限定配置
CREATE TABLE `template_time_rule` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`rule_no` varchar(32) NOT NULL COMMENT '规则编号',`template_no` varchar(32) NOT NULL COMMENT '优惠券模板编号',`date_range` varchar(32) DEFAULT NULL COMMENT '日期限定(用","分隔,1~7 标识星期1到星期日,8.法定节假日)',`time_range` varchar(48) DEFAULT '0' COMMENT '时间段限定(00:00到23:30,每半小时占1位,总共48位)',`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间',`modify_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),KEY `idx_rule_no` (`rule_no`),KEY `idx_template_no` (`template_no`)
) ENGINE=InnoDB AUTO_INCREMENT=597 DEFAULT CHARSET=utf8mb4 COMMENT='使用时间限定表';

营销系统优惠券模板设计相关推荐

  1. 电商系统-优惠券部分设计

    2019独角兽企业重金招聘Python工程师标准>>> ==========第一期========== 1 如今做电商少不了优惠券,假设是这样的业务: 所有优惠券配置后所有用户可见 ...

  2. 电子商城系统运费模板设计

    最近公司要求完善我们商城的运费模板功能,使运费计算更加精确.我接到任务之后就着手分析,到目前为止已实现了一部分.现在把相关的东西记录在这里,为了方便日后自己查看,也希望能够帮助部分初学者,给他们一个个 ...

  3. 规则引擎:大厂营销系统资格设计全解

    业务进行营销活动目的是用最少的钱实现更好的营销效果,此时就需要针对营销活动的资格进行控制,其中就包括了用户身份.用户所处的环境等等一系列因素的考虑,且为了防止恶意套取营销费用和做到营销效果的持续性,会 ...

  4. 多商户商城系统功能拆解30讲-平台端营销-商家优惠券

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统.可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城. 多商户商城系统支持商家入驻加盟,同时满足平台自营.旗舰店等多种经营方 ...

  5. 好用的营销系统都是这个架构

    一个公司想要发展,需要过三关,一是产品关,首先你的产品要好,要能满足用户需求:其次是管理关,一个人单打独斗,可以小成,但是无法大成,需要团队作战:最后是市场关,营销也要做的好,现在是一个酒香也怕巷子深 ...

  6. 升讯威微信营销系统开发实践:(4)源代码结构说明 与 安装部署说明( 完整开源于 Github)...

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  7. 升讯威微信营销系统开发实践:(2)功能设计与架构设计

    在上一篇中,我们详细分析了微信订阅号和服务号的区别,在本篇中,将进入正题:升讯威微信营销系统的功能设计及架构设计. 一.功能设计 1)设计目标 ◇ 为微信服务号提供运营及管理所需的各种功能,包括微官网 ...

  8. 升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java?

    在上一篇文章中,简要介绍了升讯威微信营销系统的功能设计和架构设计,限于篇幅只能抛砖引玉,从本章节开始将围绕功能的设计和架构的设计进行详细的论述. 中控服务器的设计 在上文中,我们谈到需要一个中控服务器 ...

  9. 客房预订+餐饮预订+酒店app+移动端通用版电商app模板+Axure高保真酒店预订管理系统+积分商城+餐饮预订系统+优惠券+订单管理+移动端酒店管理原型+酒店电商原型

    作品介绍:[Axure电商原型]电商APP高保真原型(交互+UI高保真)+移动端通用版电商app模板+Axure高保真酒店预订管理系统+积分商城+餐饮预订系统+优惠券+订单管理+移动端酒店管理原型+酒 ...

  10. EDM模板设计:教您设计三种独特的邮件营销模板

    教您设计三种独特的邮件营销模板 邮件营销,模板 众所周知,好的邮件营销必须要有好的模板设计,这也是EDM设计研究中非常重要的一个环节.下面博主教大家设计三种独特的邮件营销模板,供大家参考和学习. 一. ...

最新文章

  1. 诺康得NKD完成500万天使轮融资,专注于糖化学细胞治疗...
  2. mysql的连接leftjion,mysql的表连接(left|right)join
  3. boost::geometry::intersection用法的测试程序
  4. 【机器学习】高斯判别分析
  5. javascript高级程序设计 学习笔记 第五章 上
  6. (八)Spring与MyBatis整合
  7. 64位虚拟机下asm()语法_用Hyper-V在win10中创建虚拟机,简单快捷,不用安装其它软件...
  8. Dubbo作者亲述:那些辉煌、沉寂与重生的故事 1
  9. (2015秋) 软工作业成绩公布
  10. CodeIgniter典型的表单提交验证代码
  11. oppoJava面试题,java开发个人博客教程
  12. Android ButterKnife示例
  13. 设计模式(一)单例模式:1-饿汉模式(Eager)
  14. Android 广播学习笔记
  15. 网页特效php代码大全,网页特效代码
  16. 利用LR做性能测试中出现的常见问题解决方案
  17. 黑苹果10.12.2驱动R9 270显卡成功一例
  18. ‘真三国无双5’完美存档修改
  19. Resistors in Parallel(Gym - 102028E 2018 ICPC 焦作E题 大数+规律C++版)
  20. CVE-2022-0847 Linux内核提权漏洞分析

热门文章

  1. matlab 怎么保存,matlab怎么保存程序
  2. 信号处理VMD 变分模态分解,示例+完整代码
  3. 华为企业网络常用图标大全(附PPT下载)
  4. 华为hg255d+Openwrt锐捷认证在某农业公园
  5. Access数据库解密方法大盘点
  6. Hadoop 安装部署
  7. Mysql8安装教程——安装包版
  8. mysql安装包说明
  9. 倍福plc的型号_倍福plc编程软件下载-倍福plc软件(beckhoff twincat plc)下载v3.1 最新版-当易网...
  10. MySQL时间函数timestampdiff()使用