| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- /**
- * Created by PhpStorm.
- * Name: 芸众商城系统
- * Author: 广州市芸众信息科技有限公司
- * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
- * Date: 2022/4/25
- * Time: 19:06
- */
- namespace app\frontend\modules\dispatch\freight\pipes;
- use app\frontend\models\order\PreOrderDeduction;
- use app\frontend\modules\dispatch\deduction\PreOrderFreightDeduction;
- use app\frontend\modules\dispatch\models\OrderFreight;
- class OrderDeductionFreightPricePipe extends PricePipe
- {
- private $deduction;
- public function __construct(OrderFreight $orderFreight,PreOrderFreightDeduction $deduction, $weight = 5000)
- {
- $this->deduction = $deduction;
- parent::__construct($orderFreight, $weight);
- }
- public function getKey()
- {
- return $this->deduction->getCode().'Deduction';
- }
- public function getAmount()
- {
- return $this->deduction->getAmount()->getMoney();
- }
- /**
- * @return mixed
- * @throws \app\common\exceptions\AppException
- */
- function getPrice()
- {
- if ($this->deduction->getOrderDeduction()->isChecked() && $this->deduction->isEnableDeductFreight()) {
- // dump($this->getKey(), $this->orderFreight->getPriceBefore($this->getKey()), $this->getAmount());
- $a = max($this->orderFreight->getPriceBefore($this->getKey()) - $this->getAmount(), 0);
- // dump($a, $this->getKey(),$this->orderFreight->priceCache, $this->orderFreight->getOrder()->priceCache);
- return $a;
- } else {
- return $this->orderFreight->getPriceBefore($this->getKey());
- }
- }
- }
|