Parcourir la source

新增banner设置

duqinya il y a 6 ans
Parent
commit
f36f7c966c

+ 45 - 0
app/Http/Controllers/CmsContentTemplateSetController.php

@@ -0,0 +1,45 @@
+<?php
+namespace App\Http\Controllers;
+
+use App\Repositories\CmsContentTemplateRepository;
+use App\Repositories\CmsContentTemplateSetRepository;
+use App\Transformers\CmsContentTemplateTransformer;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Validator;
+use League\Fractal\Resource\Collection;
+use League\Fractal\Manager;
+use Illuminate\Validation\Rule;
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
+/**
+ * Created by PhpStorm.
+ * User: qinyaer
+ * Date: 2019/4/29
+ * Time: 下午18:37
+ */
+
+class CmsContentTemplateSetController extends BaseController
+{
+    public function __construct(CmsContentTemplateSetRepository $cmsContentTemplateSetRepository)
+    {
+        $this->cmsContentSetTemplate = $cmsContentTemplateSetRepository;
+    }
+
+
+    //banner设置
+    public function create(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'rule' => 'required',
+            'status' => ['required', Rule::in(0,1)],
+            'tpl_id' => 'required|integer',
+            'area_type' => ['required', Rule::in(0,1,2,3)],
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+
+        return  $this->cmsContentSetTemplate->create($request->all());
+
+    }
+
+}

+ 43 - 0
app/Repositories/CmsContentTemplateSetRepository.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace App\Repositories;
+
+
+use App\Models\CmsContentTemplateSet;
+use Symfony\Component\HttpKernel\Exception\HttpException;
+
+class CmsContentTemplateSetRepository {
+    public function __construct(CmsContentTemplateSet $cmsContentTemplateSet) {
+
+        $this->cmsContentTemplateSet = $cmsContentTemplateSet;
+    }
+
+    /**
+     * banner配置
+     */
+    public function create($request)
+    {
+
+            if ($request['rule'] && is_array($request['rule'])){
+            $rules = json_decode($request['rule'],true);
+                if (count($rules)>10) {
+                    throw new HttpException(500, '最多只能添加10个banner海报');
+                }
+
+            }else{
+                    throw new HttpException(500, '参数有误');
+            }
+
+        $subject = [
+            'tpl_id' => $request['tpl_id'],
+            'rule' => $request['rule'],
+            'area_type' => $request['area_type'],
+            'status' => $request['status'],
+        ];
+
+        if (!$this->cmsContentTemplateSet->create($subject)) {
+            throw new HttpException(500, '添加失败');
+        }
+    }
+
+}

+ 3 - 0
routes/api.php

@@ -61,6 +61,9 @@ $api->version('v1', [
         $api->get('/template/index', 'CmsContentTemplateController@index');
         //新建模板
         $api->post('/template/create', 'CmsContentTemplateController@create');
+
+        //banner设置
+        $api->post('/templateSet/create', 'CmsContentTemplateSetController@create');
     });
 
 });