Sfoglia il codice sorgente

优惠券商品去掉老规格

Gorden 5 mesi fa
parent
commit
36657a3363
1 ha cambiato i file con 20 aggiunte e 1 eliminazioni
  1. 20 1
      app/admin/service/goods/GoodsService.php

+ 20 - 1
app/admin/service/goods/GoodsService.php

@@ -572,7 +572,11 @@ class GoodsService
         } else {
             $goodsCategoryIds = array_column($data, 'id');
         }
-        $goods = Goods::with('sku')
+        $goods = Goods::with([
+            'sku' => function($query){
+                $query->where('goods_sku_status','ON');
+            }
+        ])
             ->leftJoin('goods_running', 'goods_running.join_running_goods_id', '=', 'goods.goods_id')
             ->where('goods_running.goods_running_storage', '>', 0)
             ->whereIn('join_goods_category_id', $goodsCategoryIds)
@@ -648,10 +652,17 @@ class GoodsService
                                     if (!isset($cascader4['goods_id'])) {
                                         unset($cascaderData[$key1]['children'][$key2]['children'][$key3]['children'][$key4]);
                                     }
+                                    if (isset($cascader4['goods_id']) && empty($cascader4['sku'])){
+                                        unset($cascaderData[$key1]['children'][$key2]['children'][$key3]['children'][$key4]);
+                                    }
                                 }
                             } else if (!isset($cascader3['goods_id'])) {
                                 unset($cascaderData[$key1]['children'][$key2]['children'][$key3]);
                             }
+                            if (isset($cascader3['goods_id']) && empty($cascader3['sku'])){
+                                unset($cascaderData[$key1]['children'][$key2]['children'][$key3]);
+                                continue;
+                            }
                             if (isset($cascader3['children']) && count($cascaderData[$key1]['children'][$key2]['children']) == 0) {
                                 unset($cascaderData[$key1]['children'][$key2]);
                             }
@@ -662,6 +673,10 @@ class GoodsService
                     } else if (!isset($cascader2['goods_id'])) {
                         unset($cascaderData[$key1]['children'][$key2]);
                     }
+                    if (isset($cascader2['goods_id']) && empty($cascader2['sku'])){
+                        unset($cascaderData[$key1]['children'][$key2]);
+                        continue;
+                    }
                     if (isset($cascader2['children']) && count($cascaderData[$key1]['children'][$key2]['children']) == 0) {
                         unset($cascaderData[$key1]['children'][$key2]);
                     }
@@ -672,6 +687,10 @@ class GoodsService
             } else if (!isset($cascader1['goods_id'])) {
                 unset($cascaderData[$key1]);
             }
+            if (isset($cascader1['goods_id']) && empty($cascader1['sku'])){
+                unset($cascaderData[$key1]);
+                continue;
+            }
             if (isset($cascader1['children']) && count($cascaderData[$key1]['children']) == 0) {
 
                 unset($cascaderData[$key1]);