Browse Source

预览结构调整

durong 5 years ago
parent
commit
800ab4a9f6
1 changed files with 17 additions and 55 deletions
  1. 17 55
      app/Repositories/CmsContentTemplateSetRepository.php

+ 17 - 55
app/Repositories/CmsContentTemplateSetRepository.php

@@ -568,64 +568,26 @@ class CmsContentTemplateSetRepository
         }
         $group_array['content'][0]['rule'] = $new_rule;
 
-        $subject_one = $this->cmsContentTemplateSet->select('id', 'rule', 'sort', 'name')->where(['tpl_id' => $request['tpl_id'], 'area_type' => 4])->orderBy('id', 'desc')->limit(1)->get();
-        $subject_two = $this->cmsContentTemplateSet->select('id', 'rule', 'sort', 'name')->where(['tpl_id' => $request['tpl_id'], 'area_type' => 5])->limit(1)->get();
+        $all_subject = $this->cmsContentTemplateSet->select('id', 'rule', 'sort', 'name', 'floor_img', 'area_type')->where(['tpl_id' => $request['tpl_id']])->whereIn('area_type', [4, 5])->orderBy('sort', 'asc')->get();
+        $all_subject = $all_subject->toArray();
 
-        $subject_one_sort = implode(',', array_column($subject_one->toArray(), 'sort'));
-        $subject_two_sort = implode(',', array_column($subject_two->toArray(), 'sort'));
-
-        if (intval($subject_one_sort) <= intval($subject_two_sort)) {
-            $group_array['content'][1]['area_type'] = 4;
-            $new_rule = [];
-            foreach ($subject_one->toArray() as $k => $v) {
-                if (count(json_decode($v['rule'])) > 0) {
-                    $new_rule[$k]['id'] = $v['id'];
-                    $new_rule[$k]['name'] = $v['name'];
-                    $new_rule[$k]['image'] = config('customer.cms_subject_one_bgimg');
-                    $new_rule[$k]['rule'] = json_decode($v['rule'], true);
-                }
-            }
-            $group_array['content'][1]['rule'] = $new_rule;
-
-            $group_array['content'][2]['area_type'] = 5;
-            $new_rule = [];
-            foreach ($subject_two->toArray() as $k => $v) {
-                if (count(json_decode($v['rule'])) > 0) {
-                    $new_rule[$k]['id'] = $v['id'];
-                    $new_rule[$k]['name'] = $v['name'];
-                    $new_rule[$k]['image'] = config('customer.cms_subject_two_bgimg');
-                    $new_rule[$k]['rule'] = json_decode($v['rule'], true);
-                }
-            }
-            $group_array['content'][2]['rule'] = $new_rule;
-        } else {
-            $group_array['content'][1]['area_type'] = 5;
-            $new_rule = [];
-            foreach ($subject_two->toArray() as $k => $v) {
-                if (count(json_decode($v['rule'])) > 0) {
-                    $new_rule[$k]['id'] = $v['id'];
-                    $new_rule[$k]['name'] = $v['name'];
-                    $new_rule[$k]['image'] = config('customer.cms_subject_two_bgimg');
-                    $new_rule[$k]['rule'] = json_decode($v['rule'], true);
-                }
-            }
-            $group_array['content'][1]['rule'] = $new_rule;
-
-            $group_array['content'][2]['area_type'] = 4;
-            $new_rule = [];
-            foreach ($subject_one->toArray() as $k => $v) {
-                if (count(json_decode($v['rule'])) > 0) {
-                    $new_rule[$k]['id'] = $v['id'];
-                    $new_rule[$k]['name'] = $v['name'];
-                    $new_rule[$k]['image'] = config('customer.cms_subject_one_bgimg');
-                    $new_rule[$k]['rule'] = json_decode($v['rule'], true);
-                }
+        $count = count($all_subject);
+        $new_rule = [];
+        foreach ($all_subject as $k => $v) {
+            if (count(json_decode($v['rule'])) > 0) {
+                $new_rule[$k]['area_type'] = $v['area_type'];
+                $new_rule[$k]['rule']['id'] = $v['id'];
+                $new_rule[$k]['rule']['name'] = $v['name'];
+                $new_rule[$k]['rule']['floor_img'] = $v['floor_img'];
+                $new_rule[$k]['rule']['rule'] = json_decode($v['rule'], true);
             }
-            $group_array['content'][2]['rule'] = $new_rule;
+        }
+        foreach ($new_rule as $k => $v) {
+            $group_array['content'][$k + 1] = $new_rule[$k];
         }
 
-        $group_array['content'][3]['area_type'] = 2;
-        $floor_rule = $this->cmsContentTemplateSet->select('id', 'rule','floor_img')->where(['tpl_id' => $request['tpl_id'], 'area_type' => 2])->get();
+        $group_array['content'][$count + 1]['area_type'] = 2;
+        $floor_rule = $this->cmsContentTemplateSet->select('id', 'rule', 'floor_img')->where(['tpl_id' => $request['tpl_id'], 'area_type' => 2])->get();
         $new_rule = [];
         foreach ($floor_rule->toArray() as $k => $v) {
             $new_rule[$k]['id'] = $v['id'];
@@ -647,7 +609,7 @@ class CmsContentTemplateSetRepository
                 unset($v['link_type']);
             }
         }
-        $group_array['content'][3]['rule'] = $new_rule;
+        $group_array['content'][$count + 1]['rule'] = $new_rule;
 
         return $group_array;
     }