durong преди 5 години
родител
ревизия
8fc9530aa2
променени са 2 файла, в които са добавени 48 реда и са изтрити 52 реда
  1. 47 51
      app/Repositories/CmsContentTemplateSetRepository.php
  2. 1 1
      routes/api.php

+ 47 - 51
app/Repositories/CmsContentTemplateSetRepository.php

@@ -46,9 +46,9 @@ class CmsContentTemplateSetRepository
                 $request['type'] = $v['apply_type'];
                 $request['tpl_id'] = $v['id'];
                 $request['city_id'] = $v['city_id'];
-                if ($v['apply_type'] == 2){
+                if ($v['apply_type'] == 2) {
                     return $this->exchangeMall($request);
-                }else{
+                } else {
                     return $this->preview($request);
                 }
             }
@@ -92,9 +92,9 @@ class CmsContentTemplateSetRepository
                 $request['city_id'] = $res->city_id;
                 DB::commit();
 
-                if ($res->apply_type == 2){
+                if ($res->apply_type == 2) {
                     return $this->exchangeMall($request);
-                }else{
+                } else {
                     return $this->preview($request);
                 }
                 //return Response::create();
@@ -111,7 +111,7 @@ class CmsContentTemplateSetRepository
     }
 
     //banner、左一右二、上一下三配置-数据处理
-    function request_data($request,$id,$rules)
+    function request_data($request, $id, $rules)
     {
         foreach ($rules as $k => $v) {
             if (isset($v['link_type'])) {
@@ -215,7 +215,7 @@ class CmsContentTemplateSetRepository
                 throw new HttpException(500, '最多只能添加10个banner海报');
             }
 
-            $this->request_data($request,$id,$rules);
+            $this->request_data($request, $id, $rules);
 
         } else {
             throw new HttpException(500, '参数格式有误');
@@ -550,10 +550,10 @@ class CmsContentTemplateSetRepository
         }
 
         $group_array = [];
-            $group_array['apply_type'] = 2;
-            $group_array['tpl_id'] = intval($request['tpl_id']);
-            $group_array['title'] = $temalates->title;
-            $group_array['content'] = [];
+        $group_array['apply_type'] = 2;
+        $group_array['tpl_id'] = intval($request['tpl_id']);
+        $group_array['title'] = $temalates->title;
+        $group_array['content'] = [];
 
         $group_array['content'][0]['area_type'] = 0;
         $banner_rule = $this->cmsContentTemplateSet->select('id', 'rule')->where(['tpl_id' => $request['tpl_id'], 'area_type' => 0])->orderBy('id', 'desc')->limit(1)->get();
@@ -566,38 +566,14 @@ class CmsContentTemplateSetRepository
         }
         $group_array['content'][0]['rule'] = $new_rule;
 
-        $group_array['content'][1]['area_type'] = 2;
-        $floor_rule = $this->cmsContentTemplateSet->select('id', 'rule')->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'];
-            $new_rule[$k]['rule'] = json_decode($v['rule'], true);
-        }
-        foreach ($new_rule as $k => $v) {
-            if ($v) {
-                $rules = $v['rule'];
-                $show_type = $this->cmsSubject->select('show_type')->where('id', $rules['link_url'])->first();
-                $product = $this->cmsSubjectProduct->where('subject_id', $rules['link_url'])->orderBy('sort', 'asc')->get();
-                $pro_array = $product->toArray();
-                $res_id = implode(",", array_column($pro_array, 'product_id'));
-                $new_rule[$k]['product_id'] = $res_id;
-                $new_rule[$k]['subject_id'] = intval($rules['link_url']);
-                $new_rule[$k]['show_type'] = $show_type->show_type ?? '';
-                unset($v['url']);
-                unset($rules['link_url']);
-                unset($v['link_type']);
-            }
-        }
-        $group_array['content'][1]['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();
+        $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();
 
-        $subject_one_sort = implode(',',array_column($subject_one->toArray(), 'sort'));
-        $subject_two_sort = implode(',',array_column($subject_two->toArray(), 'sort'));
+        $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'][2]['area_type'] = 4;
+        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) {
@@ -606,9 +582,9 @@ class CmsContentTemplateSetRepository
                     $new_rule[$k]['rule'] = json_decode($v['rule'], true);
                 }
             }
-            $group_array['content'][2]['rule'] = $new_rule;
+            $group_array['content'][1]['rule'] = $new_rule;
 
-            $group_array['content'][3]['area_type'] = 5;
+            $group_array['content'][2]['area_type'] = 5;
             $new_rule = [];
             foreach ($subject_two->toArray() as $k => $v) {
                 if (count(json_decode($v['rule'])) > 0) {
@@ -617,9 +593,9 @@ class CmsContentTemplateSetRepository
                     $new_rule[$k]['rule'] = json_decode($v['rule'], true);
                 }
             }
-            $group_array['content'][3]['rule'] = $new_rule;
-        }else{
-            $group_array['content'][2]['area_type'] = 5;
+            $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) {
@@ -628,9 +604,9 @@ class CmsContentTemplateSetRepository
                     $new_rule[$k]['rule'] = json_decode($v['rule'], true);
                 }
             }
-            $group_array['content'][2]['rule'] = $new_rule;
+            $group_array['content'][1]['rule'] = $new_rule;
 
-            $group_array['content'][3]['area_type'] = 4;
+            $group_array['content'][2]['area_type'] = 4;
             $new_rule = [];
             foreach ($subject_one->toArray() as $k => $v) {
                 if (count(json_decode($v['rule'])) > 0) {
@@ -639,12 +615,32 @@ class CmsContentTemplateSetRepository
                     $new_rule[$k]['rule'] = json_decode($v['rule'], true);
                 }
             }
-            $group_array['content'][3]['rule'] = $new_rule;
+            $group_array['content'][2]['rule'] = $new_rule;
         }
 
-
-
-
+        $group_array['content'][3]['area_type'] = 2;
+        $floor_rule = $this->cmsContentTemplateSet->select('id', 'rule')->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'];
+            $new_rule[$k]['rule'] = json_decode($v['rule'], true);
+        }
+        foreach ($new_rule as $k => $v) {
+            if ($v) {
+                $rules = $v['rule'];
+                $show_type = $this->cmsSubject->select('show_type')->where('id', $rules['link_url'])->first();
+                $product = $this->cmsSubjectProduct->where('subject_id', $rules['link_url'])->orderBy('sort', 'asc')->get();
+                $pro_array = $product->toArray();
+                $res_id = implode(",", array_column($pro_array, 'product_id'));
+                $new_rule[$k]['product_id'] = $res_id;
+                $new_rule[$k]['subject_id'] = intval($rules['link_url']);
+                $new_rule[$k]['show_type'] = $show_type->show_type ?? '';
+                unset($v['url']);
+                unset($rules['link_url']);
+                unset($v['link_type']);
+            }
+        }
+        $group_array['content'][3]['rule'] = $new_rule;
 
         return $group_array;
     }

+ 1 - 1
routes/api.php

@@ -96,7 +96,7 @@ $api->version('v1', [
         $api->get('templateName', 'CmsContentTemplateSetController@templateName');
 
         //v0.3兑换商城内容预览
-        $api->get('/templateSet/exchangeMall', 'CmsContentTemplateSetController@exchangeMall');
+        $api->post('/templateSet/exchangeMall', 'CmsContentTemplateSetController@exchangeMall');
     });
 });