Просмотр исходного кода

Merge branch 'develop' of http://git.caihongxingqiu.net/rainbow/cms-manage into develop

xielin лет назад: 6
Родитель
Сommit
74db85a15f

+ 18 - 1
app/Http/Controllers/CmsContentTemplateController.php

@@ -34,7 +34,9 @@ class CmsContentTemplateController extends BaseController
         $data = $fractal->createData($resource)->toArray();
         $data['extra'] = [
             'filters' => [
-                'id'
+                'id',
+                'city_id',
+                'is_open',
             ],
             'columns' => [
                 'id',
@@ -67,4 +69,19 @@ class CmsContentTemplateController extends BaseController
 
     }
 
+    //修改模板状态
+    public function edit(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'id' => 'required|exists:cms_content_template',
+            'is_open' => ['required', Rule::in(0,1)],
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+
+        return  $this->cmsContentTemplate->edit($request->all());
+
+    }
+
 }

+ 14 - 0
app/Http/Controllers/CmsSubjectController.php

@@ -170,4 +170,18 @@ class CmsSubjectController extends BaseController
         return  $this->cmsSubjectRepository->delete($request->all());
 
     }
+
+    //修改专题状态
+    public function editStatus(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'id' => 'required|exists:cms_subject',
+            'is_open' => ['required', Rule::in(0,1)],
+        ]);
+
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+        return  $this->cmsSubjectRepository->editStatus($request->all());
+    }
 }

+ 20 - 1
app/Repositories/CmsContentTemplateRepository.php

@@ -14,6 +14,7 @@ class CmsContentTemplateRepository {
     //模板列表
     public function index($request)
     {
+        $perPage = isset($request['per_page']) ? $request['per_page'] : env('PER_PAGE');
         $where = [];
         if(isset($request['id'])){
             $where[] = ['id', '=', $request['id']];
@@ -21,8 +22,11 @@ class CmsContentTemplateRepository {
         if (isset($request['is_open'])){
             $where[] = ['is_open',$request['is_open']];
         }
+        if (isset($request['city_id'])){
+            $where[] = ['city_id',$request['city_id']];
+        }
 
-        return $this->cmsContentTemplate->where($where)->orderBy('id', 'asc')->paginate(20);
+        return $this->cmsContentTemplate->where($where)->orderBy('id', 'asc')->paginate($perPage);
 
     }
 
@@ -48,4 +52,19 @@ class CmsContentTemplateRepository {
         }
     }
 
+    /**
+     * 修改模板状态
+     */
+    public function edit($request)
+    {
+
+        $template = $this->cmsContentTemplate->find($request['id']);
+        $template->is_open = $request['is_open'];
+        $template->updated_at = date('Y-m-d H:i:s');
+
+        $res = $template->save();
+        if (!$res) {
+            throw new HttpException(500, '修改状态失败');
+        }
+    }
 }

+ 13 - 9
app/Repositories/CmsContentTemplateSetRepository.php

@@ -162,7 +162,8 @@ class CmsContentTemplateSetRepository {
         $new_rule = [];
 
         foreach ($banner_rule->toArray() as $k=>$v){
-            $new_rule[] = $v;
+            $new_rule[$k]['id'] = $v['id'];
+            $new_rule[$k]['rule'] = json_decode($v['rule'],true);
         }
         $group_array['content'][0]['rule'] = $new_rule;
 
@@ -171,7 +172,8 @@ class CmsContentTemplateSetRepository {
 
         $new_rule = [];
         foreach ($subject_rule->toArray() as $k=>$v){
-            $new_rule[] = $v;
+            $new_rule[$k]['id'] = $v['id'];
+            $new_rule[$k]['rule'] = json_decode($v['rule'],true);
         }
         $group_array['content'][1]['rule'] = $new_rule;
 
@@ -179,14 +181,16 @@ class CmsContentTemplateSetRepository {
         $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[] = $v;
+            $new_rule[$k]['id'] = $v['id'];
+            $new_rule[$k]['rule'] = json_decode($v['rule'],true);
         }
         foreach ($new_rule as $k=>$v){
-            $rules = json_decode($v['rule'],true);
+            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, 'id'));
+                $res_id = implode(",", array_column($pro_array, 'product_id'));
                 $new_rule[$k]['product_id'] = $res_id;
                 $new_rule[$k]['subject_id'] = $rules['link_url'];
                 $new_rule[$k]['show_type'] = $show_type->show_type ?? '';
@@ -194,6 +198,7 @@ class CmsContentTemplateSetRepository {
                 unset($v['show_num']);
                 unset($rules['link_url']);
                 unset($v['link_type']);
+            }
         }
                 $group_array['content'][2]['rule'] = $new_rule;
 
@@ -202,14 +207,13 @@ class CmsContentTemplateSetRepository {
             $category_rule = $this->cmsContentTemplateSet->select('id','rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>3])->get();
             $new_rule = [];
             foreach ($category_rule->toArray() as $k=>$v){
-                $new_rule[] = $v;
+                $new_rule[$k]['id'] = $v['id'];
+                $new_rule[$k]['rule'] = json_decode($v['rule'],true);
             }
             $group_array['content'][3]['rule'] = $new_rule;
         }
 
-        $group_json = json_encode($group_array,JSON_UNESCAPED_UNICODE);
-
-        return $group_json;
+        return $group_array;
 
     }
 

+ 15 - 1
app/Repositories/CmsSubjectRepository.php

@@ -19,12 +19,13 @@ class CmsSubjectRepository {
     //专题列表
     public function index($request)
     {
+        $perPage = isset($request['per_page']) ? $request['per_page'] : env('PER_PAGE');
         $where = [];
         if(isset($request['id'])){
             $where[] = ['id', '=', $request['id']];
         }
 
-        return $this->cmsSubject->where($where)->orderBy('id', 'asc')->paginate(20);
+        return $this->cmsSubject->where($where)->orderBy('id', 'asc')->paginate($perPage);
 
     }
 
@@ -162,4 +163,17 @@ class CmsSubjectRepository {
 
     }
 
+    public function editStatus($request)
+    {
+        $subject = $this->cmsSubject->find($request['id']);
+        $subject->is_open = $request['is_open'];
+        $subject->updated_at = date('Y-m-d H:i:s');
+
+        $res = $subject->save();
+        if (!$res) {
+            throw new HttpException(500, '修改状态失败');
+        }
+
+    }
+
 }

+ 5 - 1
routes/api.php

@@ -56,11 +56,16 @@ $api->version('v1', [
         $api->post('/subject/edit', 'CmsSubjectController@edit');
         //删除专题
         $api->post('/subject/delete', 'CmsSubjectController@delete');
+        //列表修改专题状态
+        $api->post('/subject/editStatus', 'CmsSubjectController@editStatus');
+
 
         //模板列表
         $api->get('/template/index', 'CmsContentTemplateController@index');
         //新建模板
         $api->post('/template/create', 'CmsContentTemplateController@create');
+        //列表修改模板状态
+        $api->put('/template/edit', 'CmsContentTemplateController@edit');
 
         //banner设置
         $api->post('/templateSet/bannerSet', 'CmsContentTemplateSetController@bannerSet');
@@ -77,5 +82,4 @@ $api->version('v1', [
         $api->post('/templateSet/preview', 'CmsContentTemplateSetController@preview');
 
     });
-
 });