GoodsOptionUpdateObserverQueue.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: blank
  5. * Date: 2022/11/21
  6. * Time: 15:47
  7. */
  8. namespace app\common\modules\goods\queue;
  9. use app\common\models\GoodsOption;
  10. use app\common\modules\goods\events\GoodsOptionStockChangeEvent;
  11. use Illuminate\Bus\Queueable;
  12. use Illuminate\Queue\SerializesModels;
  13. use Illuminate\Queue\InteractsWithQueue;
  14. use Illuminate\Contracts\Queue\ShouldQueue;
  15. class GoodsOptionUpdateObserverQueue implements ShouldQueue
  16. {
  17. use InteractsWithQueue, Queueable, SerializesModels;
  18. private $uniacid;
  19. /**
  20. * @var GoodsOption
  21. */
  22. protected $goodsOption;
  23. protected $requestData;
  24. protected $type;
  25. public function __construct($uniacid, $goodsOption, $requestData)
  26. {
  27. $this->uniacid = $uniacid;
  28. \YunShop::app()->uniacid = $uniacid;
  29. \Setting::$uniqueAccountId = $uniacid;
  30. $this->requestData = $requestData;
  31. $this->goodsOption = $goodsOption;
  32. }
  33. public function handle()
  34. {
  35. \YunShop::app()->uniacid = $this->uniacid;
  36. \Setting::$uniqueAccountId = $this->uniacid;
  37. //有修改退库存
  38. if ($this->goodsOption->isDirty('stock')) {
  39. $event = new GoodsOptionStockChangeEvent($this->goodsOption, $this->requestData);
  40. event($event);
  41. }
  42. }
  43. }