Procházet zdrojové kódy

[智价云] 采集品规编辑修复

tangyuanwang před 1 dnem
rodič
revize
99ae60923b
1 změnil soubory, kde provedl 11 přidání a 29 odebrání
  1. 11 29
      app/Http/Controllers/Manager/Collect/Product.php

+ 11 - 29
app/Http/Controllers/Manager/Collect/Product.php

@@ -384,20 +384,21 @@ class Product extends Controller
         } else {
             $map['company_id'] = $admin_company_id;
         }
+        $all_data['company_id'] = $map['company_id'];
         $data = $ProductModel->where($map)->where('id', '!=', $id)->first();
-        if (!empty($data) && $enable_full_quantity == 1) {
+        if (!empty($data)) {
             //继续校验规格是否存在
             $product_specs_tring = $all_data['product_specs'];
             $product_specs = $product_specs_tring ?  explode(',', $product_specs_tring) : '';
             $product_specs = $product_specs ? array_unique($product_specs) : '';
             //继续校平台是否存在
-           
+
             $platforms = $platform_string ?  explode(',', $platform_string) : '';
             $platforms = $platforms ? array_unique($platforms) : '';
 
             $platform_data = $ProductModel->platform_index_data();
-            $map_where = ['product_name' => $all_data['product_name'],'status'=>'0','company_id'=> $all_data['company_id']];
-            if($product_brand != '') $map_where['product_brand'] = $product_brand;
+            $map_where = ['product_name' => $all_data['product_name'], 'status' => '0', 'company_id' => $all_data['company_id']];
+            if ($product_brand != '') $map_where['product_brand'] = $product_brand;
             foreach ($platforms as $platform) {
                 $product_specs_log = $ProductModel
                     ->whereRaw("FIND_IN_SET(?, platform)", [$platform])
@@ -406,38 +407,19 @@ class Product extends Controller
                     ->where(function ($query) use ($product_specs) {
                         // 平台条件(固定)
                         $query->where(function ($query_li) use ($product_specs) {
-
-                            foreach ($product_specs as $product_spec) {
-                                if (empty($product_specs)) continue;
-                                $query_li->orWhereRaw("FIND_IN_SET(?, product_specs)", [$product_spec]);
+                            if (!empty($product_specs)) {
+                                foreach ($product_specs as $product_spec) {
+                                    if (empty($product_specs)) continue;
+                                    $query_li->orWhereRaw("FIND_IN_SET(?, product_specs)", [$product_spec]);
+                                }
                             }
                         });
                     })->first();
                 $platform_name = isset($platform_data[$platform]) ? $platform_data[$platform] : '';
                 if (!empty($product_specs_log)) {
-                    return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格记录']);
-                }
-            }
-        }else if (!empty($data) && $enable_full_quantity == 0) {
-            $platforms = $platform_string ?  explode(',', $platform_string) : '';
-            $platforms = $platforms ? array_unique($platforms) : '';
-
-            $platform_data = $ProductModel->platform_index_data();
-            $map_where = ['product_name' => $all_data['product_name'],'status'=>'0','company_id'=> $all_data['company_id']];
-            if($product_brand != '') $map_where['product_brand'] = $product_brand;
-            if (!empty($platforms) && $platforms != '')  {
-                foreach ($platforms as $platform) {
-                    $product_specs_log = $ProductModel
-                        ->whereRaw("FIND_IN_SET(?, platform)", [$platform])
-                        ->where($map_where)
-                        ->first();
-                    $platform_name = isset($platform_data[$platform]) ? $platform_data[$platform] : '';
-                    if (!empty($product_specs_log)) {
-                        return json_send(['code' => 'error', 'msg' => $platform_name . '存在重复的商品记录']);
-                    }
+                    return json_send(['code' => 'error', 'msg' => $platform_name . '存在重复的商品规格记录']);
                 }
             }
-            
         }
         // 更新数据表
         $where = ['id' => $id];