Ver código fonte

【Add】下单活动分城市

liuxiangxin 7 meses atrás
pai
commit
d2aeb8f4bf

+ 2 - 0
.gitignore

@@ -7,6 +7,8 @@
 /storage/framework/testing/*
 /storage/framework/views/*
 /elkconf
+/public/uploads/product/*
+/public/uploads/company/*
 /vendor
 *.DS_Store
 *.log

+ 19 - 4
app/Http/Controllers/Admin/OrdersBanner.php

@@ -2,9 +2,10 @@
 
 use App\Http\Requests\Admin\Orders\Banner as Request;
 use App\Models\Orders\Banner as Model;
+use App\Models\City;
 
 /**
- * 产品管理
+ * banner管理
  *
  * @author    刘相欣
  *
@@ -14,7 +15,7 @@ class OrdersBanner extends Auth{
 	protected function _initialize(){
 		parent::_initialize();
 		$this->assign('breadcrumb1','营销管理');
-		$this->assign('breadcrumb2','下单活动');
+		$this->assign('breadcrumb2','首页轮播');
 	}
 	
 	/**
@@ -48,7 +49,7 @@ class OrdersBanner extends Auth{
 	 * 添加
 	 * 
 	 * */
-	public function add( Request $request, Model $Model){
+	public function add( Request $request, Model $Model,City $City){
 		if( request()->isMethod('post') ){
 			// 验证参数
 			$request->scene('add')->validate();
@@ -56,6 +57,8 @@ class OrdersBanner extends Auth{
 			$data['name']			= request('name','');
 			$data['thumb']			= request('thumb','');
 			$data['link_url']		= request('link_url','');
+			$cityIds				= request('city_ids',[]);
+			$data['city_ids']		= implode(',',$cityIds);
 			// 写入
 			$id						= $Model->add($data);
 			// 提示新增失败
@@ -65,8 +68,11 @@ class OrdersBanner extends Auth{
 			// 告知结果
 			return					json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
 		}
+		// 获取列表
+		$cityList					= $City->getCityList();
 		// 分配数据
 		$this->assign('crumbs','新增');
+		$this->assign('cityList',$cityList);
 		// 加载模板
 		return 					$this->fetch();
 	}
@@ -75,7 +81,7 @@ class OrdersBanner extends Auth{
 	 * 编辑
 	 * 
 	 * */
-	public function edit( Request $request, Model $Model){
+	public function edit( Request $request, Model $Model,City $City){
 		if(request()->isMethod('post')){
 			// 验证参数
 			$request->scene('edit')->validate();
@@ -84,6 +90,10 @@ class OrdersBanner extends Auth{
 			$data['name']			= request('name','');
 			$data['thumb']			= request('thumb','');
 			$data['link_url']		= request('link_url','');
+			$cityIds				= request('city_ids',[]);
+			$data['city_ids']		= implode(',',$cityIds);
+			// 如果没有选择,则意味着全部
+			$cityIds				= $cityIds ? $cityIds : [1];
 			// 写入
 			$result					= $Model->edit($id,$data);
 			// 提示新增失败
@@ -99,8 +109,13 @@ class OrdersBanner extends Auth{
 		$oldData					= $Model->where(['id'=>$id])->first();
 		// 如果是没有数据
 		if( !$oldData ) 			return $this->error('查无数据');
+		// 获取城市ID
+		$oldData['city_ids']		= explode(',',$oldData['city_ids']);
+		// 获取列表
+		$cityList					= $City->getCityList();
 		// 分配数据
 		$this->assign('oldData',$oldData);
+		$this->assign('cityList',$cityList);
 		$this->assign('crumbs','修改');
 		// 加载模板
 		return 						$this->fetch();

+ 18 - 2
app/Http/Controllers/Api/Orders/Banner.php

@@ -2,6 +2,7 @@
 
 use App\Http\Controllers\Api\Api;
 use App\Models\Orders\Banner as Model;
+use App\Models\Custom;
 
 /**
  * 订单落地页Banner
@@ -18,14 +19,29 @@ class Banner extends Api{
 	 * @param	string		$code		授权码
 	 * 
 	 * */
-	public function get_list(Model $Model){
+	public function get_list(Model $Model,Custom $Custom){
 		// 接口验签
 		// $this->verify_sign();
 		// 检查登录
 		$uid							= $this->getUid();
+		// 获取客户信息
+		$custom							= $uid ? $Custom->getOne($uid) : [];
+		// 客户的城市ID
+		$cityId							= empty($custom['city_id']) ? 0 : $custom['city_id'];
 		// 查新客户类型
 		$list			                = $Model->getList();
-		// 
+		// 循环处理数据
+		foreach ($list as $key => $value) {
+			//  如果没有限制城市
+			if( empty($value['city_ids']) )	continue;
+			// 如果限制了的话,转数组
+			$value['city_ids']			= explode(',',$value['city_ids']);
+			// 判断用户的城市是否在内
+			if( in_array($cityId,$value['city_ids']) )  continue;
+			// 不在范围的删除
+			unset($list[$key]);
+		}
+		// 获取数组格式
         $list                           = array_values($list);
 		// 返回结果
 		return							json_send(['code'=>'success','msg'=>'获取成功','data'=>$list]);

+ 2 - 2
app/Models/Banner.php

@@ -65,7 +65,7 @@ class Banner extends Model
     public function getList($force = false)
     {
         // 结果数据
-        $list                  = $force ? [] : cache('orders:banner:list');
+        $list                  = $force ? [] : cache('index:banner:list');
         // 不存在数据
         if ( !$list )          {
             // 从数据库获取数据
@@ -82,7 +82,7 @@ class Banner extends Model
                 $list[$value['id']] = $value;
             }
             // 存起来
-            cache(['orders:banner:list'=>$list]);
+            cache(['index:banner:list'=>$list]);
         }
         // 返回结果
         return                  $list;

+ 13 - 1
resources/views/admin/orders_banner/add.blade.php

@@ -17,10 +17,22 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 		<label class="control-label">活动名称</label>
 		<input class="form-control" required="required" type="text" placeholder="活动名称" maxlength="50" name="name" value="" />
 	</div>
-	<div class="form-group col-sm-10">
+	<div class="form-group col-sm-5">
 		<label class="control-label">跳转链接</label>
 		<input class="form-control" type="url" placeholder="跳转链接" maxlength="120" name="link_url" value="" />
 	</div>
+	<!-- <div class="form-group col-sm-5">
+		<label class="control-label">显示城市</label>
+		<select name="city_ids[]" class="form-control selectpicker" data-live-search="true" data-live-search-placeholder="搜索城市" data-none-results-text="未搜索到 {0}" title="选择城市" multiple>
+			@foreach ($cityList as $group)
+			<optgroup label="{{$group['name']}}">
+				@foreach ($group['city'] as $city)
+				<option value="{{$city['id']}}" >{{$city['name']}}</option>
+				@endforeach
+			</optgroup>
+			@endforeach
+		</select>
+	</div> -->
 	<div class="form-group col-sm-12">
 		@csrf
 		<input id="send" type="submit" value="提交" class="btn btn-primary btn-block" />

+ 13 - 1
resources/views/admin/orders_banner/edit.blade.php

@@ -17,10 +17,22 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 		<label class="control-label">活动名称</label>
 		<input class="form-control" required="required" type="text" placeholder="活动名称" maxlength="50" name="name" value="{{$oldData['name']}}" />
 	</div>
-	<div class="form-group col-sm-10">
+	<div class="form-group col-sm-5">
 		<label class="control-label">跳转链接</label>
 		<input class="form-control" type="url" placeholder="跳转链接" maxlength="120" name="link_url" value="{{$oldData['link_url']}}" />
 	</div>
+	<!-- <div class="form-group col-sm-5">
+		<label class="control-label">服务城市</label>
+		<select name="city_ids[]" class="form-control selectpicker" data-live-search="true" data-live-search-placeholder="搜索城市" data-none-results-text="未搜索到 {0}" title="选择城市" multiple>
+			@foreach ($cityList as $group)
+			<optgroup label="{{$group['name']}}">
+				@foreach ($group['city'] as $city)
+				<option value="{{$city['id']}}" @if(in_array($city['id'],$oldData['city_ids'])) selected @endif >{{$city['name']}}</option>
+				@endforeach
+			</optgroup>
+			@endforeach
+		</select>
+	</div> -->
 	<div class="form-group col-sm-12">
 		@csrf
 		<input type="hidden" name="id" value="{{$oldData['id']}}" />