PreOrderPlugin.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021/9/17
  8. * Time: 14:17
  9. */
  10. namespace app\frontend\models\order;
  11. use app\common\models\order\OrderPlugin;
  12. use app\frontend\models\Goods;
  13. use app\frontend\modules\order\models\PreOrder;
  14. class PreOrderPlugin extends OrderPlugin
  15. {
  16. /**
  17. * @var PreOrder
  18. */
  19. protected $order;
  20. protected function _initAttributes()
  21. {
  22. $attributes = [
  23. 'main_plugin_id' => $this->order->plugin_id ? : 0
  24. ];
  25. $attributes['sub_plugin_id'] = 0;
  26. foreach ($this->order->orderGoods as $orderGood) {
  27. $goods = Goods::select('id','plugin_id')->where('id',$orderGood->goods_id)->first();
  28. if ($goods) {
  29. $attributes['sub_plugin_id'] = $goods->plugin_id;
  30. break;
  31. }
  32. }
  33. $attributes = array_merge($this->getAttributes(), $attributes);
  34. $this->setRawAttributes($attributes);
  35. }
  36. /**
  37. * @param PreOrder $order
  38. */
  39. public function setOrder(PreOrder $order)
  40. {
  41. $this->order = $order;
  42. $this->_initAttributes();
  43. $this->order->setRelation('orderPlugin', $this);
  44. }
  45. }