OrderGoodsCouponPriceNode.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: shenyang
  5. * Date: 2019/1/23
  6. * Time: 3:01 PM
  7. */
  8. namespace app\frontend\modules\orderGoods;
  9. use app\common\modules\orderGoods\models\PreOrderGoods;
  10. use app\frontend\modules\order\PriceNode;
  11. use app\frontend\modules\orderGoods\discount\BaseDiscount;
  12. use app\frontend\modules\orderGoods\price\option\BaseOrderGoodsPrice;
  13. class OrderGoodsCouponPriceNode extends BaseOrderGoodsPriceNode
  14. {
  15. function getKey()
  16. {
  17. return 'coupon';
  18. }
  19. /**
  20. * @return float|int|mixed
  21. * @throws \app\common\exceptions\AppException
  22. */
  23. function getPrice()
  24. {
  25. // todo 订单优惠券计算需要参照抵扣的结构重构, 这里先调用一次订单的抵扣金额,来保证先绑定订单商品优惠券的模型,后通过模型获取订单商品优惠券总金额
  26. $this->orderGoodsPrice->orderGoods->order->getPriceAfter('coupon');
  27. return max($this->orderGoodsPrice->getPriceBefore($this->getKey()) - $this->orderGoodsPrice->getCouponAmount(),0);
  28. }
  29. }