123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?php
- namespace Modules\Manager\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Models\Assit;
- use App\Models\User;
- use Illuminate\Validation\Rule;
- use Illuminate\Support\Facades\Validator;
- class AssitController extends Controller
- {
- public function getAssitList(Request $request){
- $page_size=$request->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();
- }
- }
- }
|