通用系统设计之优惠卷
前言 本应该继续连载手撸框架系列文章的。但最近有一个需求 -> 优惠卷,之前很多朋友让我出一篇优惠卷相关的文章。这不,本章应了大伙的愿。开始我自己的表演 🔥🔥 额,这里还要插一句,有很多新人感觉在使用框架的过程中根本用不到PHP的很多概念,例如abstract,final 部分人感觉protected,private 都没有太大用处。更别提interface在框架中的使用了,感觉好无用处的举爪~ 策略模式 优惠卷的存在到消亡至少要经历三个步骤(创建->使用->失效),以下为优惠卷完整生命周期图, 优惠卷有几百种几千种的优惠(骗人)方式(姿势),结合PHP代码来解决优惠卷应如何创建更合适,首先先创建一个类作为优惠卷的模版 class UserCouponTem { } 这个模版则是一个树根,未来所有优惠卷都要通过这个根去扩展,接下来创建一系列的优惠卷参数,例如与设计数据表一样,如下所示,通过成员变量的方式,束缚了优惠卷的具体字段。 /** * @var $couponName * @content 优惠券名称 */ public $couponName; /** * @var $alidityv * @content 有效期 */ public $alidityv; /** * @var $userId * @content 绑定的用户编码 */ public $userId; /** * @var $price * @content 抵扣金额 */ public $price; /** * @var $type * @content 类型 0 通用红包 1 查看扩展字段 */ public $type; /** * @var $extend * @content 扩展字段 */ public $extend; /** * @var $numbers * @content 卷号 */ public $number; /** * @var $content * @content 卷内容 */ public $content; 优惠卷的模版创建完成后,接下来需要创建两个方法,第一个为服务...