escolalms / vouchers
Escola LMS 代金券
Requires
- php: >=7.4
- escolalms/cart: ^0.4
- escolalms/core: ^1.2
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.12
- escolalms/settings: ^0.1.91
- nunomaduro/collision: ^5.11
- orchestra/testbench: ^5.0|^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-23 11:49:07 UTC
README
用途
此包允许您定义可以在下订单之前应用于用户购物车的优惠券,根据多个可配置的规则计算折扣。
安装
composer require escolalms/vouchers
php artisan migrate
php artisan db:seed --class="EscolaLms\Vouchers\Database\Seeders\VoucherPermissionsSeeder"
依赖项
此包依赖于(并扩展)EscolaLms/Cart 包,不能单独使用。
用法
优惠券规则
每个优惠券定义了一组规则,当用户尝试将优惠券添加到购物车时进行检查。只有当所有条件都满足时,优惠券(折扣)才能应用于特定的购物车内容。某些条件根据优惠券类型的不同而有所不同。
- 最小/最大金额 - 购物车金额必须至少为 "最小" 金额,如果购物车金额超过 "最大" 金额,则折扣仅按 "最大" 水平计算
- 使用限制 - 优惠券在达到全局或用户限制后不能使用
- 排除促销 - 如果购物车中有已打折价格的产品,则不能使用优惠券
优惠券类型
此包定义了四种折扣类型,代表了四种不同的折扣计算策略。有两种类型与整个购物车相关,有两种类型与指定的产品相关。
固定购物车金额优惠券
类型为 EscolaLms\Vouchers\Enums::CART_FIXED
的优惠券从购物车总价格中扣除固定金额。请参阅 EscolaLms\Vouchers\Strategies\CartFixedDiscountStrategy
。
- 购物车中必须包含 "包含产品" 之一
- 购物车中不能包含 "排除产品" 之一
- 购物车中必须包含 "包含类别" 之一
- 购物车中不能包含 "排除类别" 之一
百分比购物车金额优惠券
类型为 EscolaLms\Vouchers\Enums::CART_PERCENT
的优惠券从购物车总价格中扣除基于百分比的金额,但仅针对不在 "排除产品" 或 "排除类别" 列表中的产品。请参阅 EscolaLms\Vouchers\Strategies\CartPercentDiscountStrategy
。
- 购物车中必须包含 "包含产品" 之一
- 购物车中必须包含 "包含类别" 之一
固定产品优惠券
类型为 EscolaLms\Vouchers\Enums::PRODUCT_FIXED
的优惠券从产品价格中扣除固定金额,但仅针对 "包含产品" 中的唯一产品。产品必须在 "包含产品" 中指定。请参阅 EscolaLms\Vouchers\Strategies\ProductFixedDiscountStrategy
。
百分比产品优惠券
类型为 EscolaLms\Vouchers\Enums::PRODUCT_FIXED
的优惠券从产品价格中扣除基于百分比的金额。产品必须在 "包含产品" 中指定。请参阅 EscolaLms\Vouchers\Strategies\ProductPercentDiscountStrategy
。
如何使用优惠券
可以使用 POST /api/cart/voucher/
端点将优惠券添加到购物车。
端点
测试
运行 ./vendor/bin/phpunit
来运行测试。请参阅 tests 目录。
事件
此包没有发出任何事件。
监听器
在此包中未指定任何监听器。
如何在前端使用此功能
管理面板
菜单
优惠券列表
创建/编辑优惠券
权限
路线图。待办事项。故障排除
- 从购物车中删除优惠券的端点