CreatedMdGoodsJob.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\jobs;
  8. use app\models\Md;
  9. use yii\base\BaseObject;
  10. use yii\queue\JobInterface;
  11. use app\models\Goods;
  12. use app\models\MdGoods;
  13. /**
  14. * 同步门店商品
  15. */
  16. class CreatedMdGoodsJob extends BaseObject implements JobInterface
  17. {
  18. public $goods_id;
  19. public function execute($queue)
  20. {
  21. $goods_id = $this->goods_id;
  22. $goods = Goods::findOne($goods_id);
  23. if (!empty($goods)) {
  24. $md_list = Md::find()->where(['store_id' => $goods->store_id, 'is_delete' => 0])->asArray()->all();
  25. foreach ($md_list as $md_item) {
  26. $md_goods = MdGoods::findOne(['md_id' => $md_item['id'], 'goods_id' => $goods_id]);
  27. if (empty($md_goods)) {
  28. $md_goods = new MdGoods();
  29. $md_goods->md_id = $md_item['id'];
  30. $md_goods->goods_id = $goods_id;
  31. $md_goods->attr = $goods->attr;
  32. $md_goods->virtual_sales = $goods->virtual_sales;
  33. $md_goods->price = $goods->price;
  34. $md_goods->status = 1;
  35. $md_goods->delivery_type = $md_item['self_delivery_type'];
  36. $md_goods->goods_num = $goods->goods_num;
  37. $md_goods->delivery_type = $goods->delivery_type;
  38. if (!$md_goods->save()) {
  39. return [
  40. 'code' => 1,
  41. 'msg' => json_encode($md_goods->errors)
  42. ];
  43. }
  44. }
  45. }
  46. }
  47. }
  48. }