如何设计一个可扩展的优惠券功能
本文主要分享了如何设计一个可扩展的优惠券功能。
一、功能特性介绍
1.每个条件的代码独立,相当于单独的实现类实现接口,就能通过配置添加到优惠券条件校验当中,支持多种条件灵活组合
2.新增一种使用条件可以不修改核心流程代码,不需要增加数据库表字段
3.可实现优惠券区分客户端展示,比如在APP可见可用,在小程序不可见不可用
4.可实现优惠券查询适用的商品列表
二、核心代码架构图
三、代码实现
1.数据库表结构设计
CREATE TABLE `mk_coupon_use_condition` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`bean_name` varchar(64) NOT N