瀏覽代碼

【Add】城市二维码

liuxiangxin 6 月之前
父節點
當前提交
8e4cd7eadb

+ 20 - 7
app/Http/Controllers/Admin/WeibanQrcode.php

@@ -2,6 +2,7 @@
 
 use App\Http\Requests\Admin\WeiBan\Qrcode as Request;
 use App\Models\WeiBan\Qrcode as Model;
+use App\Models\City;
 
 /**
  * 微伴二维码
@@ -48,13 +49,15 @@ class WeibanQrcode 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();
 			// 组合数据
 			$data['name']			= request('name','');
 			$data['thumb']			= request('thumb','');
+			$cityIds				= request('city_ids',[]);
+			$data['city_ids']		= implode(',',$cityIds);
 			// 写入
 			$id						= $Model->add($data);
 			// 提示新增失败
@@ -64,7 +67,10 @@ class WeibanQrcode extends Auth{
 			// 告知结果
 			return					json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
 		}
+		// 获取列表
+		$cityList					= $City->getCityList();
 		// 分配数据
+		$this->assign('cityList',$cityList);
 		$this->assign('crumbs','新增');
 		// 加载模板
 		return 					$this->fetch();
@@ -74,7 +80,7 @@ class WeibanQrcode 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();
@@ -82,6 +88,8 @@ class WeibanQrcode extends Auth{
 			$id						= request('id',0);
 			$data['name']			= request('name','');
 			$data['thumb']			= request('thumb','');
+			$cityIds				= request('city_ids',[]);
+			$data['city_ids']		= implode(',',$cityIds);
 			// 写入
 			$result					= $Model->edit($id,$data);
 			// 提示新增失败
@@ -97,8 +105,13 @@ class WeibanQrcode 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();
@@ -112,16 +125,16 @@ class WeibanQrcode extends Auth{
 		// 验证参数
 		$request->scene('set_status')->validate();
 		// 接收参数
-		$id				= request('id',0);
-		$status			= request('status',0);
+		$id							= request('id',0);
+		$status						= request('status',0);
 		// 查询数据
-		$result			= $Model->edit($id,['status'=>$status]);
+		$result						= $Model->edit($id,['status'=>$status]);
 		// 提示新增失败
-		if( !$result )	return json_send(['code'=>'error','msg'=>'设置失败']);
+		if( !$result )				return json_send(['code'=>'error','msg'=>'设置失败']);
 		// 记录行为
 		$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],['status'=>$status]);
 		// 告知结果
-		return			json_send(['code'=>'success','msg'=>'设置成功','path'=>'']);
+		return						json_send(['code'=>'success','msg'=>'设置成功','path'=>'']);
 	}
 
 }

+ 7 - 5
app/Http/Controllers/Api/Custom.php

@@ -58,17 +58,19 @@ class Custom extends Api{
 		$custom['userpic']				= $custom['userpic'] ? path_compat($custom['userpic']) : '';
 		// 手机号
 		$custom['phone']				= hide_phone($custom['phone']);
-		// 二维码
-		$followQrcode					= $WeiBanQrcode->getFollowQrcode();
-		// 所需数组组合,如果没有关联企微,获取二维码,已添加好友的不验证
+		// 如果没有关联企微,获取二维码,已关联的不验证
+		$followQrcode					= $custom['weiban_extid'] ?  '' : $WeiBanQrcode->getFollowQrcode($custom['city_id']);
+		// 城市ID换城市名
+		$cityId							= (string) $City->getOne($custom['city_id'],'name');
+		// 所需数组组合
 		$custom							= [
 											'uid'=>$custom['uid'],
 											'username'=>$custom['username'],
 											'userpic'=>$custom['userpic'],
 											'phone'=>$custom['phone'],
 											'company_id'=>1, // 无需验证资质
-											'show_price'=>$custom['city_id']?1:0, // 是否选择了城市处理
-											'city_id'=>(string)$City->getOne($custom['city_id'],'name'),
+											'show_price'=>$cityId?1:0, // 是否选择了城市处理
+											'city_id'=>$cityId,
 											'follow_qrcode'=>$followQrcode,
 										];
 		// 返回结果

+ 14 - 4
app/Models/WeiBan/Qrcode.php

@@ -69,7 +69,7 @@ class Qrcode extends Model
         // 不存在数据
         if ( !$list )          {
             // 从数据库获取数据
-            $data              = $this->query()->where(['status'=>0])->get(['id','thumb','name','status']);
+            $data              = $this->query()->where([['status','=',0]])->get(['id','thumb','name','city_ids','status']);
             // 是否有数据
             $data              = $data ? $data->toArray() : [];
             // 循环处理数据
@@ -108,15 +108,25 @@ class Qrcode extends Model
     /**
      * 获取配置平台对应的应用数据
      * 
-     * @param   int      用户ID
-     * @param   string     指定字段
+     * @param   int             $cityId 城市ID
      * 
      */
-    public function getFollowQrcode(){
+    public function getFollowQrcode($cityId){
         // 获取列表数据
         $list                   = $this->getList();
         // 列表数据不存在
         if( !$list )            return '';
+        // 循环列表
+        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]);
+        }
         // 存在的话,获取第一个的数据
         $one                    = array_shift($list);
         // 判断是否存在二维码

+ 1 - 1
resources/views/admin/custom/index.blade.php

@@ -53,7 +53,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 							<td> {{$a['username']}} </td>
 							<td> {{$a['phone']}} </td>
 							<td> {{$a['custom_score']['score']}} </td>
-							<td> {{$a['weiban_extid']}} </td>
+							<td> <a href="{{url('admin/weiban_external/index?'.http_build_query(['id'=>$a['weiban_extid']]))}}">{{$a['weiban_extid']}}</a></td>
 							<td> {{$a['status']?'禁用':'正常'}} </td>
 							<td> {{date('Y/m/d H:i:s',$a['insert_time'])}}</td>
 							<td> {{date('Y/m/d H:i:s',$a['update_time'])}}</td>

+ 3 - 3
resources/views/admin/weiban_external/index.blade.php

@@ -33,8 +33,8 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<th>微伴ID</th>
 						<th>微伴头像</th>
 						<th>昵称备注</th>
-						<th>跟进客服</th>
 						<th>备注手机</th>
+						<th>跟进客服</th>
 						<th>客服标签</th>
 						<th>系统用户</th>
 						<th>创建时间</th>
@@ -49,14 +49,14 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 							<td> {{$a['id']}} </td>
 							<td> <img src="{{$a['avatar']}}" height="30" alt="{{$a['name']}}"> </td>
 							<td> {{$a['name']}} <span class="btn btn-xs btn-default">{{$a['remark']}}</span> </td>
-							<td> <span class="btn btn-xs btn-default">{{$a['staff_name']}}</span> </td>
 							<td> {{$a['phone_number']}}</td>
+							<td> <span class="btn btn-xs btn-default">{{$a['staff_name']}}</span> </td>
 							<td> 
 								@foreach ($a['tags_list'] as $v)
 									<span class="btn btn-xs btn-default">{{$v['name']}}</span>
 								@endforeach
 							</td>
-							<td> {{$a['custom_code']}} </td>
+							<td> <a href="{{url('admin/custom/index?'.http_build_query(['custom_code'=>$a['custom_code']]))}}">{{$a['custom_name']}}</a></td>
 							<td> {{date('Y/m/d H:i:s',$a['insert_time'])}}</td>
 							<td> {{date('Y/m/d H:i:s',$a['update_time'])}}</td>
 							<td> </td>

+ 14 - 2
resources/views/admin/weiban_qrcode/add.blade.php

@@ -4,7 +4,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 @endsection
 @section('content')
 <form class="post-form" action="" method="post">
-	<div class="form-group col-sm-12">
+	<div class="form-group col-sm-6">
 		<label class="control-label">二维码</label>
 		<div id="thumb">
 			<a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
@@ -13,10 +13,22 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 			<input type="hidden" name="thumb" value="" id="input-image" />
 		</div>
 	</div>
-	<div class="form-group col-sm-12">
+	<div class="form-group col-sm-6">
 		<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-6">
+		<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" />

+ 14 - 2
resources/views/admin/weiban_qrcode/edit.blade.php

@@ -4,7 +4,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 @endsection
 @section('content')
 <form class="post-form" action="" method="post">
-	<div class="form-group col-sm-12">
+	<div class="form-group col-sm-6">
 		<label class="control-label">二维码</label>
 		<div id="thumb">
 			<a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
@@ -13,10 +13,22 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 			<input type="hidden" name="thumb" value="{{$oldData['thumb']}}" id="input-image" />
 		</div>
 	</div>
-	<div class="form-group col-sm-12">
+	<div class="form-group col-sm-6">
 		<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-6">
+		<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']}}" />