فهرست منبع

Merge branch '20250522_diywebfr'

15313670163 5 ماه پیش
والد
کامیت
92509581ce
1فایلهای تغییر یافته به همراه71 افزوده شده و 70 حذف شده
  1. 71 70
      app/JsonRpc/PublicRpcService.php

+ 71 - 70
app/JsonRpc/PublicRpcService.php

@@ -1207,32 +1207,33 @@ class PublicRpcService implements PublicRpcServiceInterface
             return Result::error('位置不存在!');
         }
         $sort = json_decode($data['component_code'],true);
-        $kw = 0;
-        $flattened = [];
-        $component = [];
+        // $kw = 0;
+        // $flattened = [];
+        // $component = [];
         $sector_component = [];
         foreach ($sort as $key => $subArray) {
             foreach ($subArray as $k => $item) {
-                $component[] = $item;
+                // $component[] = $item;
                 $sector_component[] = [
                     'sector_id' => $data['sector_id'],
                     'component_id' => $item,
                     'sort_id' => $key + 1,
                     'place_id' => $data['place_type'],
                 ];
-                $componentTypes[] = $item;
-                $components[] = [
-                    'sort_id' => $key + 1,
-                    'component_type' => $item,
-                ];
-                $place_ids[] = $data['place_type'];
+                //  // ---------同步通栏的sort_id到组件之中,目前已废弃,涉及到批量修改------
+                // $componentTypes[] = $item;
+                // $components[] = [
+                //     'sort_id' => $key + 1,
+                //     'component_type' => $item,
+                // ];
+                // $place_ids[] = $data['place_type'];
             }
         }
-        $component_num = count($component);
-        $count = count(array_unique($component));
+        // $component_num = count($component);
+        // $count = count(array_unique($component));
        
-        // return Result::success($component_sort);
-        if(count($sort) != $data['component_num'] || $component_num != $count){
+        // return Result::success($sector_component);
+        if(count($sort) != $data['component_num']){
             return Result::error('组件关联错误!');
         }
         // 通栏分类:1:资讯类:2:通栏广告类;3:混合类;4:头条类;5:轮播图类;
@@ -1252,25 +1253,29 @@ class PublicRpcService implements PublicRpcServiceInterface
                 Db::rollBack();
                 return Result::error('通栏关联组件失败!');
             }
-            // unset($sector_component['place_id']);
-            // unset($sector_component['sector_id']);
-            // 2. 查询数据库中已存在的component_type(只保留存在的记录)
-            $existingTypes = Component::whereIn('component_type', $componentTypes)
-                ->pluck('component_type') // 提取存在的component_type
-                ->toArray();
-            // 3. 过滤$components数组,只保留数据库中已存在的记录(核心:避免新增)
-            $updateData = array_filter($components, function ($item) use ($existingTypes) {
-                return in_array($item['component_type'], $existingTypes);
-            });
-
-            // 4. 执行upsert(此时$updateData中只有已存在的记录,不会新增)
-            if (!empty($updateData)) {
-                $component_sort = Component::upsert($updateData,['component_type'],['sort_id']);
-            }
-            if(empty($component_sort)){
-                Db::rollBack();
-                return Result::error('组件位置关联失败!');
-            }
+            // ---------同步通栏的sort_id到组件之中,目前已废弃,涉及到批量修改------
+            // 查询数据库中已存在的component_type(只保留存在的记录)
+            // $existingTypes = Component::whereIn('component_type', $componentTypes)
+            //     ->pluck('component_type') // 提取存在的component_type
+            //     ->toArray();
+            // if(empty($existingTypes)){
+            //     Db::rollBack();
+            //     return Result::error('组件不存在!');
+            // }
+            // // var_dump($existingTypes);
+            // // 3. 过滤$components数组,只保留数据库中已存在的记录(核心:避免新增)
+            // $updateData = array_filter($components, function ($item) use ($existingTypes) {
+            //     return in_array($item['component_type'], $existingTypes);
+            // });
+
+            // // 4. 执行upsert(此时$updateData中只有已存在的记录,不会新增)
+            // if (!empty($updateData)) {
+            //     $component_sort = Component::upsert($updateData,['component_type'],['sort_id']);
+            // }
+            // if(empty($component_sort)){
+            //     Db::rollBack();
+            //     return Result::error('组件位置关联失败!');
+            // }
             $result = Sector::insertGetId($data);
             if (empty($result)) {
                 Db::rollBack();
@@ -1350,26 +1355,26 @@ class PublicRpcService implements PublicRpcServiceInterface
             return Result::error('皮肤不存在!');
         }
         $sort = json_decode($data['component_code'],true);
-        $kw = 0;
-        $flattened = [];
-        $component = [];
         $sector_component = [];
         foreach ($sort as $key => $subArray) {
             foreach ($subArray as $k => $item) {
-                $componentTypes[] = $item;
-                $components[] = [
+                // $component[] = $item;
+                $sector_component[] = [
+                    'sector_id' => $data['sector_id'],
+                    'component_id' => $item,
                     'sort_id' => $key + 1,
-                    'component_type' => $item,
+                    'place_id' => $data['place_type'],
                 ];
-                $place_ids[] = $data['place_type'];
+                // ---------同步通栏的sort_id到组件之中,目前已废弃,涉及到批量修改------
+                // $componentTypes[] = $item;
+                // $components[] = [
+                //     'sort_id' => $key + 1,
+                //     'component_type' => $item,
+                // ];
+                // $place_ids[] = $data['place_type'];
             }
         }
-        // // 批量插入数据到 ComponentSector 表
-        // \App\Model\ComponentSector::insert($sector_component);
-        $component_num = count($component);
-        $count = count(array_unique($component));
-        //   return Result::success($sector_component);
-        if(count($sort) != $data['component_num'] || $component_num != $count){
+        if(count($sort) != $data['component_num']){
             return Result::error('组件关联错误!');
         }
         $data['sector_code'] = json_encode($sector_code);
@@ -1380,21 +1385,17 @@ class PublicRpcService implements PublicRpcServiceInterface
                 Db::rollBack();
                 return Result::error('通栏解除组件关联失败!');
             }
-            // $up_component = Component::whereIn('component_type',$com_sector)->update(['status' => 1]);
-            //     if(empty($up_component)){
-            //         Db::rollBack();
-            //         return Result::error('通栏解除组件关联失败!');
-            // }
             $del_SectorComponent = SectorComponent::where('sector_id', $sector['sector_id'])->delete();
             if(empty($del_SectorComponent)){
                 Db::rollBack();
-                return Result::error('通栏解除组件关联失败!');
+                return Result::error('通栏解除组件关联失败!1');
             }
             $com_sector = SectorComponent::insert($sector_component);
             if(empty($com_sector)){
                 Db::rollBack();
                 return Result::error('通栏关联组件失败!');
             }
+            // ---------同步通栏的sort_id到组件之中,目前已废弃,涉及到批量修改------
             // $up_component = Component::whereIn('component_id',$sector_component['component_type'])
             // ->update(['status' => 2,]);
             // if(empty($up_component)){
@@ -1402,22 +1403,22 @@ class PublicRpcService implements PublicRpcServiceInterface
             //     return Result::error('通栏关联组件失败!');
             // }
             // 2. 查询数据库中已存在的component_type(只保留存在的记录)
-            $existingTypes = Component::whereIn('component_type', $componentTypes)
-                ->pluck('component_type') // 提取存在的component_type
-                ->toArray();
-            // 3. 过滤$components数组,只保留数据库中已存在的记录(核心:避免新增)
-            $updateData = array_filter($components, function ($item) use ($existingTypes) {
-                return in_array($item['component_type'], $existingTypes);
-            });
-
-            // 4. 执行upsert(此时$updateData中只有已存在的记录,不会新增)
-            if (!empty($updateData)) {
-                $component_sort = Component::upsert($updateData,['component_type'],['sort_id']);
-            }
-            if(empty($component_sort)){
-                Db::rollBack();
-                return Result::error('组件位置关联失败!');
-            }
+            // $existingTypes = Component::whereIn('component_type', $componentTypes)
+            //     ->pluck('component_type') // 提取存在的component_type
+            //     ->toArray();
+            // // 3. 过滤$components数组,只保留数据库中已存在的记录(核心:避免新增)
+            // $updateData = array_filter($components, function ($item) use ($existingTypes) {
+            //     return in_array($item['component_type'], $existingTypes);
+            // });
+
+            // // 4. 执行upsert(此时$updateData中只有已存在的记录,不会新增)
+            // if (!empty($updateData)) {
+            //     $component_sort = Component::upsert($updateData,['component_type'],['sort_id']);
+            // }
+            // if(empty($component_sort)){
+            //     Db::rollBack();
+            //     return Result::error('组件位置关联失败!');
+            // }
             $result = Sector::where('id', $data['id'])->update($data);
             if (empty($result)) {
                 Db::rollBack();
@@ -2677,8 +2678,8 @@ class PublicRpcService implements PublicRpcServiceInterface
             });
         })
         ->select('sector.sector_name', 'sector_component.sector_id', 'component.*', 'component_img.img_url'
-        ,'sector.pic_height','sector.sector_img')  
-        ->orderBy('component.sort_id')
+        ,'sector.pic_height','sector.sector_img','sector_component.sort_id')  
+        ->orderBy('sector_component.sort_id')
         ->orderBy('sector_component.sector_id')
         ->get()->all();
         if(empty($sector)){