MemberLevel.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021/7/16
  8. * Time: 14:50
  9. */
  10. namespace app\frontend\modules\order\discount;
  11. use app\common\modules\orderGoods\models\PreOrderGoods;
  12. class MemberLevel extends BaseDiscount
  13. {
  14. protected $code = 'memberLevel';
  15. protected $name = '会员等级优惠';
  16. /**
  17. * 订单中订单商品会员等级的总金额
  18. * @return float
  19. */
  20. protected function _getAmount()
  21. {
  22. $result = $this->order->orderGoods->sum(function (PreOrderGoods $preOrderGoods) {
  23. return $preOrderGoods->getVipDiscountAmount();
  24. });
  25. return $result;
  26. }
  27. /**
  28. * @return mixed
  29. */
  30. public function getName()
  31. {
  32. $name = $this->name;
  33. $this->order->orderGoods->each(function (PreOrderGoods $preOrderGoods) use (&$name){
  34. // 如果是一卡通, 那边优惠的集合名称就是消费券优惠
  35. if ($preOrderGoods->getVipDiscountLog('code') == 'store_privilege') {
  36. $name = $preOrderGoods->getVipDiscountLog('name');
  37. return false;
  38. }
  39. return true;
  40. });
  41. return $name;
  42. }
  43. public function preSave()
  44. {
  45. return false;
  46. }
  47. }