Browse Source

【Add】内部账号可以更改自己的城市

liuxiangxin 5 months ago
parent
commit
978974cbb3

+ 24 - 0
app/Http/Controllers/Admin/Custom.php

@@ -180,6 +180,30 @@ class Custom extends Auth{
 		return 				json_send(['code'=>'success','msg'=>'设置成功','path'=>'']);
 	}
 
+	/**
+	 * 修改状态
+	 * 
+	 * */
+	public function set_manager(Request $request,Model $Model){
+		// 验证参数
+		$request->scene('set_manager')->validate();
+		// 设置状态
+		$uid				= request('uid',0);
+		$isManager			= request('is_manager',0);
+		// 查询用户
+		$oldData			= $Model->where(['uid'=>$uid])->first();
+		// 如果用户不存在
+		if( !$oldData )		return json_send(['code'=>'error','msg'=>'用户不存在']);
+		// 执行修改
+		$result				= $Model->edit($uid,['is_manager'=>$isManager]);		
+		// 提示新增失败
+		if( !$result )		return json_send(['code'=>'error','msg'=>'设置失败']);
+		// 记录行为
+		$this->addAdminHistory(admin('uid'),$Model->getTable(),$uid,2,$oldData,['is_manager'=>$isManager]);
+		// 告知结果
+		return 				json_send(['code'=>'success','msg'=>'设置成功','path'=>'']);
+	}
+
 	/**
 	 * 表格导入
 	 * 

+ 26 - 0
app/Http/Controllers/Api/Custom.php

@@ -68,6 +68,7 @@ class Custom extends Api{
 											'username'=>$custom['username'],
 											'userpic'=>$custom['userpic'],
 											'phone'=>$custom['phone'],
+											'is_manager'=>$custom['is_manager'],
 											'company_id'=>1, // 无需验证资质
 											'show_price'=>$cityId?1:0, // 是否选择了城市处理
 											'city_id'=>$cityId,
@@ -103,5 +104,30 @@ class Custom extends Api{
 		return							json_send(['code'=>'success','msg'=>'保存成功','data'=>['city_id'=>$cityId]]);
 	}
 
+	/**
+	 * 设置信息			/api/custom/get_city
+	 * 
+	 * @param	string		$code		授权码
+	 * 
+	 * */
+	public function get_city(Request $request,Model $Model,City $City){
+		// 接口验签
+		// $this->verify_sign();
+		// 验证参数
+		$request->scene('get_city')->validate();
+		// 检查登录
+		$uid							= $this->checkLogin();
+		// 查询用户
+		$custom							= $Model->getOne($uid);
+		// 用户不存在
+		if( empty($custom) )			return json_send(['code'=>'success','msg'=>'获取成功','data'=>['province'=>'','city'=>'']]);
+		// 获取城市ID
+		$cityId							= $custom['city_id'];
+		$cityName						= $City->getOne($cityId,'name');
+		$pid 							= $City->getOne($cityId,'pid');
+		$province						= $City->getOne($pid,'name');
+		// 返回结果
+		return 							json_send(['code'=>'success','msg'=>'获取成功','data'=>['province'=>(string)$province,'city'=>(string)$cityName]]);
+	}
 
 }

+ 4 - 0
app/Http/Controllers/Api/CustomCoupon.php

@@ -75,6 +75,8 @@ class CustomCoupon extends Api{
 					}
 				}
 			}
+			// 排除范围
+			$productExclude				= [];
 			// 状态可用 且排除商品
 			if( $value['status'] == 0 && $value['type_id'] == 3 ) {
 				// 循环排除范围
@@ -144,6 +146,8 @@ class CustomCoupon extends Api{
 					}
 				}
 			}
+			// 排除范围
+			$productExclude				= [];
 			// 状态可用 且排除商品
 			if( $value['type_id'] == 3 ) {
 				// 循环排除范围

+ 2 - 1
app/Http/Requests/Admin/Custom.php

@@ -16,7 +16,7 @@ class Custom extends BaseRequest
      */
     public function rules()
     {
-        // 编辑时排除ID 
+        // 编辑时排除ID
         $id			= request('uid',null);
         // 非重规则phone
 		$uniphone  	= Rule::unique('custom')->where(function ($query){
@@ -39,6 +39,7 @@ class Custom extends BaseRequest
 		'add'  		            => ['username','phone'],
         'edit'  		        => ['uid','username','phone'],
         'set_status'  		    => ['uid'],
+        'set_manager'  		    => ['uid'],
         'import_execl'          => ['custom_file'],
 	];
 

+ 2 - 2
app/Models/Custom.php

@@ -81,7 +81,7 @@ class Custom extends Model
     public function getOne($uid)
     {
         // 返回结果
-        $custom         = $this->query()->where([['uid','=',$uid]])->first(['uid','external_userid','weiban_extid','phone','userpic','username','sex','city_id','status','insert_time']);
+        $custom         = $this->query()->where([['uid','=',$uid]])->first(['uid','is_manager','external_userid','weiban_extid','phone','userpic','username','sex','city_id','status','insert_time']);
         // 返回结果
         if( !$custom )  return [];
         // 数据结构
@@ -98,7 +98,7 @@ class Custom extends Model
     public function getOneByPhone($phone)
     {
         // 返回结果
-        $custom         = $this->query()->where([['phone','=',$phone]])->first(['uid','external_userid','weiban_extid','phone','userpic','username','sex','city_id','status','insert_time']);
+        $custom         = $this->query()->where([['phone','=',$phone]])->first(['uid','is_manager','external_userid','weiban_extid','phone','userpic','username','sex','city_id','status','insert_time']);
         // 返回结果
         if( !$custom )  return [];
         // 数据结构

+ 7 - 0
resources/views/admin/custom/index.blade.php

@@ -107,6 +107,13 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 									<a data-url="{{url('admin/custom/set_status?'.http_build_query(['uid'=>$a['uid'],'status'=>1]))}}" class="set_status btn btn-sm btn-danger" >拉黑</a>
 									@endif
 								@endif
+								@if(check_auth('admin/custom/set_manager'))
+									@if( $a['is_manager'] )
+									<a data-url="{{url('admin/custom/set_manager?'.http_build_query(['uid'=>$a['uid'],'is_manager'=>0]))}}" class="set_status btn btn-sm btn-danger" >取消内部账号</a>
+									@else
+									<a data-url="{{url('admin/custom/set_manager?'.http_build_query(['uid'=>$a['uid'],'is_manager'=>1]))}}" class="set_status btn btn-sm btn-success" >设置内部账号</a>
+									@endif
+								@endif
 							</td>							
 						</tr>  
 						@endforeach

+ 1 - 0
routes/api.php

@@ -21,6 +21,7 @@ Route::any('wechat/phone_number',[\App\Http\Controllers\Api\Wechat::class,'phone
 
 // 客户信息
 Route::any('custom/get_info',[\App\Http\Controllers\Api\Custom::class,'get_info']);
+Route::any('custom/get_city',[\App\Http\Controllers\Api\Custom::class,'get_city']);
 
 // 资质信息
 Route::any('custom_company/get_info',[\App\Http\Controllers\Api\CustomCompany::class,'get_info']);

+ 2 - 0
routes/web.php

@@ -129,6 +129,8 @@ Route::middleware('admin')->prefix('admin')->group(function(){
     Route::any('custom/edit',[App\Http\Controllers\Admin\Custom::class,'edit']);
     // 状态
     Route::any('custom/set_status',[App\Http\Controllers\Admin\Custom::class,'set_status']);
+    // 状态
+    Route::any('custom/set_manager',[App\Http\Controllers\Admin\Custom::class,'set_manager']);
     // 订单导入
     Route::any('custom/import_execl',[App\Http\Controllers\Admin\Custom::class,'import_execl']);
     // 订单导入