input('page_size'); $page_index=$request->input('page_index'); $search_name=$request->input('search_name'); $phone=$request->input('phone'); $num=$page_size*($page_index-1); $data=Assit::query(); if($search_name){ $user_ids=User::where('mobile','like','%'.$search_name.'%') ->orWhere('nickname','like','%'.$search_name.'%')->pluck('id'); $data=$data->whereIn('agent_id',$user_ids); } if($phone){ $data->where('phone','like','%'.$phone.'%') ->orWhere('name','like','%'.$phone.'%'); } $total=$data->count(); $list=$data->with(['user:id,nickname,mobile,level']) ->orderBy('id','desc') ->skip($num)->take($page_size)->get(); return $this->success_list($list,'',$total); } public function getUser(Request $request){ $phone=$request->input('phone'); if($phone){ $user=User::where(function($query)use($phone){ $query->where('mobile','like','%'.$phone.'%')->orWhere('nickname','like','%'.$phone.'%'); }) ->whereNull('deleted_at')->where('status',0)->where('cert_status',6)->where('service_status',0) ->where('level',3) ->select('id','mobile','nickname') ->orderBy('id','desc') ->limit(1000)->get(); if($user){ return $this->success($user); } } return $this->success([]); // return $this->error('450001','代理信息不存在'); } public function addAssit(Request $request){ $rules=[ 'name' => 'required|min:2|max:12', 'phone' => 'required|regex:/^1[345789][0-9]{9}$/|unique:assit', 'password' => 'required|min:6|max:18', ]; $messages = [ 'name.required' => '助手名称为必填项.', 'name.min' => '助手名称不能少于2个字符.', 'name.max' => '助手名称不能超过12个字符.', 'phone.request' => '助手手机号为必填项.', 'phone.regex' => '助手手机号格式有误.', 'phone.unique' => '助手手机号已存在.', 'password.required' => '助手密码为必填项.', 'password.min' => '助手密码不能少于6个字符.', 'password.max' => '助手密码不能超过18个字符.', ]; $validator = Validator::make($request->all(), $rules, $messages); if($validator->fails()){ return $this->error('400013',$validator->errors()->first()); } $name=$request->input('name'); $phone=$request->input('phone'); $password=$request->input('password'); $agent_id=$request->input('agent_id'); $user=User::where('mobile',$phone)->first(); if(!empty($user) && empty($user->deleted_at)){ return $this->error('450001','助手手机号已被代理使用'); } $num=Assit::query()->where('agent_id',$agent_id)->count(); if($num>0){ return $this->error('450001','代理已存在助手'); } $res=Assit::create([ 'name'=>$name, 'phone'=>$phone, 'agent_id'=>$agent_id, 'password'=>md5($password), ]); if($res){ return $this->success([]); }else{ return $this->error(); } } public function editAssit(Request $request){ $id=$request->input('id'); $rules=[ 'name' => 'required|min:2|max:12', 'phone' => 'required|regex:/^1[345789][0-9]{9}$/', 'phone' => Rule::unique('assit')->ignore($id), 'password' => 'required|min:6|max:18', ]; $messages = [ 'name.required' => '助手名称为必填项.', 'name.min' => '助手名称不能少于2个字符.', 'name.max' => '助手名称不能超过12个字符.', 'phone.request' => '助手手机号为必填项.', 'phone.regex' => '助手手机号格式有误.', 'phone.unique' => '助手手机号已存在.', 'password.required' => '助手密码为必填项.', 'password.min' => '助手密码不能少于6个字符.', 'password.max' => '助手密码不能超过18个字符.', ]; $validator = Validator::make($request->all(), $rules, $messages); if($validator->fails()){ return $this->error('400013',$validator->errors()->first()); } $name=$request->input('name'); $phone=$request->input('phone'); $password=$request->input('password'); $agent_id=$request->input('agent_id'); $user=User::where('mobile',$phone)->first(); if(!empty($user) && empty($user->deleted_at)){ return $this->error('400015','助手手机号已被代理使用'); } $num=Assit::query()->where('agent_id',$agent_id) ->where('phone','<>',$phone)->count(); $assit=Assit::where('id',$id)->first(); if($num>0 && $agent_id != $assit->agent_id){ return $this->error('450001','代理已存在助手'); } $assit->name = $name; $assit->phone = $phone; $assit->agent_id = $agent_id; $assit->password = md5($password); $res = $assit->save(); if($res){ return $this->success([]); }else{ return $this->error(); } } public function delAssit(Request $request){ $id=$request->input('id'); $res=Assit::where('id',$id)->delete(); if($res){ return $this->success([]); }else{ return $this->error(); } } }