joegabdelsater/promo-codes

此包是一个即插即用的包,可以将促销代码折扣功能添加到您的项目中

2.0.0 2023-06-01 10:12 UTC

This package is auto-updated.

Last update: 2024-09-11 12:04:18 UTC


README

这是一个简单的包,可以将促销代码折扣功能添加到任何网站。它独立于其他功能。

注意:您应该有用户模型/表存在。

安装

composer require joegabdelsater/promo-codes

用法

要使用库,您需要在文件顶部添加此行以使用外观

use Joegabdelsater\PromoCodes\Facades\PromoCodes;

函数

生成促销代码

要生成促销代码,调用 generate() 方法。该方法接受以下参数

  • $length (可选):促销代码的长度。默认为 8。
  • $prefix (可选):添加到促销代码的前缀。默认为空字符串。
  • $discount (可选):折扣金额。默认为 0。
  • $maxUses (可选):促销代码可以使用的最大次数。默认为 null。
  • $validFrom (可选):促销代码有效的日期和时间。默认为 null。
  • $validTo (可选):促销代码有效的截止日期和时间。默认为 null。

示例

PromoCodes::generate(10, 'DISCOUNT', 10, 100, '2022-01-01 00:00:00', '2022-12-31 23:59:59');

验证促销代码

要验证促销代码,调用 validate() 方法。该方法接受促销代码作为参数,如果有效则返回促销代码对象,如果无效则返回包含错误信息的数组。

示例用法

PromoCodes::validate('DISCOUNT-5D8S0A5K5L')

// 返回 ['status' => false, 'message' => '代码无效的原因']

// 返回 ['status' => true, 'code' => '代码详情']

应用代码

要应用促销代码,使用 apply() 方法。该方法接受促销代码作为参数,如果有效则返回促销代码对象,如果无效则返回包含错误信息的数组。

示例用法:PromoCodes::apply('DISCOUNT-5D8S0A5K5L')

计算折扣金额

在应用促销代码后计算折扣金额,调用 calculate() 方法。该方法接受以下参数

  • $amount:折扣前的原始金额。
  • $discount_type:折扣类型,可以是 'percentage' 或 'fixed'。
  • $discount_amount:折扣金额。

PromoCodes::calculate(100, 'percentage', 10)