PHPackages                             renjiangfeng/laravel-calculator-discount - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. renjiangfeng/laravel-calculator-discount

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

renjiangfeng/laravel-calculator-discount
========================================

0.0.2(6y ago)04MITPHPPHP ^5.6 || ^7.0

Since Feb 5Pushed 6y ago1 watchersCompare

[ Source](https://github.com/Renjiangfeng/laravel-calculator-discount)[ Packagist](https://packagist.org/packages/renjiangfeng/laravel-calculator-discount)[ RSS](/packages/renjiangfeng-laravel-calculator-discount/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (3)Used By (0)

laravel-calculator
==================

[](#laravel-calculator)

`laravel-calculator-discount` 是一个简单优惠计算的包

安装
==

[](#安装)

`composer require renjiangfeng/laravel-calculator-discount`

开始使用
====

[](#开始使用)

##### 执行命令

[](#执行命令)

- php artisan vendor:publish --force --provider="Eric\\LaravelCalculatorDiscount\\RenLaravelCalculatorServiceProvider"

将创建一下目录和文件

##### 模型文件

[](#模型文件)

- `app/Models/Discount.php`
- `app/Models/DiscountAction.php`
- `app/Models/DiscountRule.php`

这三个模型代表优惠的三个表，`Discount`代表的优惠活动表，`DiscountRule`代表优惠活动的条件表并和优惠活动表一对一关系 `DiscountAction`代表优惠活动的结果表并和优惠活动表一对一关系

`DiscountRule`表的根据 `type`字段不同分3中类型

- contains\_product 制定固定产品
- contains\_category 商品类型
- item\_total 满减或者满 打折

`configuration` 根据类型不同存储格式不同

类型内容（json）备注contains\_product{"product":"1,2,3,4"}固定产品ID合集contains\_category{"category":1,2,3,4"}固定产品类型ID合集item\_total{"amount":12800}满多少钱 减钱 或者 满多少钱打折`DiscountAction`表的根据 `type`字段不同分3中类型

- order\_total 满减的金额
- order\_ratio 打折
- order\_reduce 立减

`configuration` 根据类型不同存储格式不同

类型内容（json）备注order\_total{"amount": 50}减去固定金额order\_ratio{"ratio":80"}打折 比如打八折 就 80order\_reduce{"amount":800}立减 直接减去##### 配置文件

[](#配置文件)

- `config/laravel-calculator.php`

##### 数据库迁移文件

[](#数据库迁移文件)

- `database/migrations/2019_01_15_081654_create_discount_table.php`
- `database/migrations/2020_01_15_081706_create_discount_action_table.php`
- `database/migrations/2019_01_15_081713_create_discount_rule_table.php`

#### 配置文件说明

[](#配置文件说明)

`config/laravel-calculator.php`

```
 [
    'status_verify'         => false,//是否对优惠的状态验证
    'time_verify'         => false,//是否对优惠的开始时间和结束时间验证
    /**
     * 对应的数据模型
     **/
    'discount_model'        => App\Discount::class,
    'discount_action_model' => App\DiscountAction::class,
    'discount_rule_model'   => App\DiscountRule::class,
];
```

#### 使用说明

[](#使用说明)

```
