Browse Source

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

zhangchangchun 5 years ago
parent
commit
c55a09127a

+ 37 - 0
app/Http/Controllers/V2/CmsContentTemplateSetController.php

@@ -0,0 +1,37 @@
+<?php
+namespace App\Http\Controllers\V2;
+
+use App\Http\Controllers\BaseController;
+use App\Repositories\V2\CmsContentTemplateSetRepository;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Validator;
+/**
+ * Created by PhpStorm.
+ * User: qinyaer
+ * Date: 2019/6/10
+ * Time: 下午18:37
+ */
+
+class CmsContentTemplateSetController extends BaseController
+{
+    public function __construct(CmsContentTemplateSetRepository $cmsContentTemplateSetRepository)
+    {
+        $this->cmsContentSetTemplate = $cmsContentTemplateSetRepository;
+    }
+
+    //banner 专题计数
+    public function count_subject(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'id' => 'required|integer',
+            'rule' => 'required',
+            'type' => 'required'//类型:0.新增;1.修改
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+
+        return  $this->cmsContentSetTemplate->count_subject($request->all());
+
+    }
+}

+ 56 - 0
app/Repositories/V2/CmsContentTemplateSetRepository.php

@@ -0,0 +1,56 @@
+<?php
+
+namespace App\Repositories\V2;
+
+use App\Models\CmsSubject;
+use App\Models\CmsContentTemplate;
+use App\Models\CmsContentTemplateSet;
+use App\Models\CmsSubjectProduct;
+
+class CmsContentTemplateSetRepository {
+    public function __construct(CmsContentTemplateSet $cmsContentTemplateSet,CmsContentTemplate $cmsContentTemplate,CmsSubjectProduct $cmsSubjectProduct,CmsSubject $cmsSubject) {
+
+        $this->cmsContentTemplateSet = $cmsContentTemplateSet;
+        $this->cmsContentTemplate = $cmsContentTemplate;
+        $this->cmsSubjectProduct = $cmsSubjectProduct;
+        $this->cmsSubject = $cmsSubject;
+    }
+
+    //banner模板选专题-被使用计数
+    public function count_subject($request)
+    {
+        if ($request['type'] == 0){
+            if ($request['rule']['link_type'] == 1){
+                $templates = $this->cmsSubject->where('id',intval($request['rule']['link_url']))->first();
+                $templates->used_count +=1;
+                $templates->save();
+            }
+        }else{
+            $subject_id_array = json_decode($request['old_rule'],true);
+            if ($subject_id_array['link_type'] == 1 && $request['rule']['link_type'] == 1){//链接方式都为专题
+                if ($subject_id_array['link_url'] != $request['rule']['link_url']){
+                    $templates = $this->cmsSubject->where('id',intval($subject_id_array['link_url']))->first();
+                    $update_template = [
+                        $templates->used_count -=1
+                    ];
+                    $templates->update($update_template);
+
+                    $templates = $this->cmsSubject->where('id',intval($request['rule']['link_url']))->first();
+                    $templates->used_count +=1;
+                    $templates->save();
+                }
+            }elseif ($subject_id_array['link_type'] == 1 && $request['rule']['link_type'] != 1){
+                $templates = $this->cmsSubject->where('id',intval($subject_id_array['link_url']))->first();
+                $update_template = [
+                    $templates->used_count -=1
+                ];
+                $templates->update($update_template);
+            }elseif ($subject_id_array['link_type'] != 1 && $request['rule']['link_type'] == 1){
+                $templates = $this->cmsSubject->where('id',intval($request['rule']['link_url']))->first();
+                $templates->used_count +=1;
+                $templates->save();
+            }
+        }
+
+    }
+}

+ 15 - 0
routes/api.php

@@ -90,4 +90,19 @@ $api->version('v1', [
         //获取对应城市模板名称
         $api->get('templateName', 'CmsContentTemplateSetController@templateName');
     });
+
+});
+
+$api->version('v1', [
+    'namespace' => 'App\Http\Controllers\V2',
+], function ($api) {
+
+    $api->group([
+        'prefix' => 'v2'
+    ], function ($api) {
+        $api->group(['middleware' => 'jwt.chxq_auth'], function ($api) {
+        });
+        //banner专题计数
+        $api->post('count_subject', 'CmsContentTemplateSetController@count_subject');
+    });
 });