Ver código fonte

修改banner状态

duqinya 5 anos atrás
pai
commit
a7ddf811f1

+ 14 - 0
app/Http/Controllers/V2/BannerController.php

@@ -97,5 +97,19 @@ class BannerController extends BaseController
 
 
     }
     }
 
 
+    //修改banner状态
+    public function editStatus(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'id' => 'required|exists:config_banner',
+            'is_open' => ['required', Rule::in(0,1)],
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+
+        return  $this->bannerRepository->editStatus($request->all());
+    }
+
 
 
 }
 }

+ 34 - 0
app/Repositories/BannerRepository.php

@@ -141,4 +141,38 @@ class BannerRepository
             ]);
             ]);
         }
         }
     }
     }
+
+    public function editStatus($request)
+    {
+        $banner_id = $this->banner->find($request['id']);
+        $banner_id->is_open = $request['is_open'];
+        $banner_id->updated_at = date('Y-m-d H:i:s');
+
+        $res = $banner_id->save();
+
+        if (!$res) {
+            throw new HttpException(500, '修改状态失败');
+        }
+        //banner关闭检测绑定楼层是否只有一个banner
+        if ($request['is_open'] == 0){
+            $request['banner_id'] = $res['id'];
+            $this->editFloorBind($request);
+        }
+    }
+
+    function editFloorBind($request)
+    {
+        try {
+            $url = config("customer.manage_service_url") . '/cms/v2/floorBind';
+            $array = [
+                'json' => ['banner_id' => $request['banner_id']], 'query' => [], 'http_errors' => false, 'headers' => ['Authorization' => "Bearer " . JWTAuth::getToken()]
+            ];
+
+            return http($url, $array, 'put');
+        } catch (\Exception $e) {
+            return [];
+        }
+    }
+
+
 }
 }

+ 2 - 0
routes/api.php

@@ -78,5 +78,7 @@ $api->version('v1', [
         $api->put('/bannerSet/edit', 'BannerController@edit');
         $api->put('/bannerSet/edit', 'BannerController@edit');
         //删除banner
         //删除banner
         $api->delete('/bannerSet/delete', 'BannerController@bannerDelete');
         $api->delete('/bannerSet/delete', 'BannerController@bannerDelete');
+        //修改banner状态
+        $api->put('/bannerSet/editStatus', 'BannerController@editStatus');
     });
     });
 });
 });