duqinya пре 6 година
родитељ
комит
1b5c20e28e

+ 16 - 4
app/Http/Controllers/CmsContentTemplateSetController.php

@@ -30,7 +30,6 @@ class CmsContentTemplateSetController extends BaseController
     {
         $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)],
         ]);
@@ -47,7 +46,6 @@ class CmsContentTemplateSetController extends BaseController
     {
         $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)],
         ]);
@@ -64,7 +62,6 @@ class CmsContentTemplateSetController extends BaseController
     {
         $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)],
         ]);
@@ -81,7 +78,6 @@ class CmsContentTemplateSetController extends BaseController
     {
         $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)],
         ]);
@@ -93,4 +89,20 @@ class CmsContentTemplateSetController extends BaseController
 
     }
 
+
+    //内容发布
+    public function release(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'tpl_id' => 'required|integer',
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+
+        return  $this->cmsContentSetTemplate->release($request->all());
+        
+    }
+
+
 }

+ 4 - 0
app/Models/CmsContentTemplateSet.php

@@ -1,9 +1,13 @@
 <?php
 
 namespace App\Models;
+use Illuminate\Database\Eloquent\SoftDeletes;
 
 class CmsContentTemplateSet extends BaseModel
 {
+    use SoftDeletes;
+
+    protected $dates = ['deleted_at'];
     protected  $table = 'cms_content_template_set';
 
 

+ 39 - 6
app/Repositories/CmsContentTemplateSetRepository.php

@@ -2,14 +2,16 @@
 
 namespace App\Repositories;
 
-
+use Dingo\Api\Http\Response;
+use App\Models\CmsContentTemplate;
 use App\Models\CmsContentTemplateSet;
 use Symfony\Component\HttpKernel\Exception\HttpException;
 
 class CmsContentTemplateSetRepository {
-    public function __construct(CmsContentTemplateSet $cmsContentTemplateSet) {
+    public function __construct(CmsContentTemplateSet $cmsContentTemplateSet,CmsContentTemplate $cmsContentTemplate) {
 
         $this->cmsContentTemplateSet = $cmsContentTemplateSet;
+        $this->cmsContentTemplate = $cmsContentTemplate;
     }
 
     /**
@@ -27,7 +29,7 @@ class CmsContentTemplateSetRepository {
                     'tpl_id' => $request['tpl_id'],
                     'rule' => $request['rule'],
                     'area_type' => $request['area_type'],
-                    'status' => $request['status'],
+                    'status' => 0,
                 ];
 
                 if (!$this->cmsContentTemplateSet->create($subject)) {
@@ -52,7 +54,7 @@ class CmsContentTemplateSetRepository {
                 'tpl_id' => $request['tpl_id'],
                 'rule' => $request['rule'],
                 'area_type' => $request['area_type'],
-                'status' => $request['status'],
+                'status' => 0,
             ];
 
             if (!$this->cmsContentTemplateSet->create($subject)) {
@@ -76,7 +78,7 @@ class CmsContentTemplateSetRepository {
                 'tpl_id' => $request['tpl_id'],
                 'rule' => $request['rule'],
                 'area_type' => $request['area_type'],
-                'status' => $request['status'],
+                'status' => 0,
             ];
 
             if (!$this->cmsContentTemplateSet->create($subject)) {
@@ -100,7 +102,7 @@ class CmsContentTemplateSetRepository {
                 'tpl_id' => $request['tpl_id'],
                 'rule' => $request['rule'],
                 'area_type' => $request['area_type'],
-                'status' => $request['status'],
+                'status' => 0,
             ];
 
             if (!$this->cmsContentTemplateSet->create($subject)) {
@@ -114,6 +116,37 @@ class CmsContentTemplateSetRepository {
     }
 
 
+    /**
+     * 内容发布
+     */
+    public function release($request)
+    {
+        //同一个城市同一个模板(团购/菜市场) 只能有一种状态(草稿/发布),已发布的一旦被编辑把之前的直接删掉
+        $templateSet = $this->cmsContentTemplateSet->where('tpl_id',$request['tpl_id'])->select('id','status')->get();
+        $tem_array = $templateSet->toArray();
+        foreach ($tem_array as $k=>$v) {
+                if ($v['status'] == 1) {
+                    $result = $this->cmsContentTemplateSet->where('id', $v['id'])->delete();
+                    if (!$result) {
+                        return Response::create([
+                            'message' => '删除失败,请重试',
+                            'status_code' => 500
+                        ]);
+                    }
+                }
+        }
+
+                $res = $this->cmsContentTemplateSet->where('tpl_id',$request['tpl_id'])->update(['status'=>1]);
+                if (!$res){
+                    return Response::create([
+                        'message'  => '修改失败,请重试',
+                        'status_code'   => 500
+                    ]);
+                }
+
+    }
+
+
 
 
 }

+ 3 - 0
routes/api.php

@@ -70,6 +70,9 @@ $api->version('v1', [
         $api->post('/templateSet/floorSet', 'CmsContentTemplateSetController@floorSet');
         //分类专题设置
         $api->post('/templateSet/categorySet', 'CmsContentTemplateSetController@categorySet');
+
+        //内容发布
+        $api->post('/templateSet/release', 'CmsContentTemplateSetController@release');
     });
 
 });