all(); $page_size=$input['page_size']; $page_index=$input['page_index']; $num = ($page_index - 1) * $page_size; // $search_name=$input['search_name']; $where=[]; $count=Warea::where($where) // ->where('name', 'like', '%' . $search_name . '%') ->count(); if($count==0){ $this->error('400001','没有数据'); } $list=Warea::where($where) // ->where('name', 'like', '%' . $search_name . '%') ->with('admin:id,name') ->skip($num)->take($page_size) ->orderBy('id','desc') ->get(); //<<<<<<< HEAD foreach($list as $key =>$val){ $list[$key]->levels=$this->getEveryLevelAgentNum($val->id,1); } //======= //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab if(empty($list)){ return $this->error('400002','没有获取到数据'); } return $this->success_list($list,'success',$count); } //获取战区信息 //<<<<<<< HEAD public function getWareaListInfos(){ //======= // public function getWareaListInfos(Request $request){ //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab $list=Warea::where('status',0) ->orderBy('id','desc') ->get(); if(empty($list)){ return $this->error('400002','没有获取到数据'); } //<<<<<<< HEAD return $this->success($list); //======= // return $this->success_list($list); //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab } //添加战区信息 public function uploadWarea(Request $request){ $input=$request->all(); $rules=[ 'name'=>[ 'required', Rule::unique('warea') ->where(function ($query) { $query->where('deleted_at', null); }) ], ]; $messages=[ 'name.required'=>'战区名称不能为空.', 'name.unique'=>'战区名称已存在.', ]; $validator = Validator::make($input, $rules, $messages); if($validator->fails()){ return $this->error('400013',$validator->errors()->first()); } $war=Warea::where('admin_id',$input['admin_id'])->first(); if($war){ return $this->error('450001','政委已绑定战区'); } $admin=Admin::where('id',$input['admin_id'])->first(); if($admin->role=='23'){ if(empty($admin->mobile)){ return $this->error('450001','政委没有手机号'); } } $admin_id=$input['admin_id']; $data['name']=$input['name']; $data['admin_id']=$admin_id; $data['admin_name']=$input['admin_name']; $data['status']=0; $row=Warea::create($data); if($row){ event(new AddWarea($row)); Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加战区成功,战区id='.$row->id); return $this->success([]); } return $this->error(); } public function updateWarea(Request $request){ $input=$request->all(); $rules=[ 'name'=>[ 'required', Rule::unique('warea') ->ignore($input['id'], 'id') ->where(function ($query) { $query->where('deleted_at', null); }) ], ]; $messages=[ 'name.required'=>'战区名称不能为空.', 'name.unique'=>'战区名称已存在.', ]; $validator = Validator::make($input, $rules, $messages); if($validator->fails()){ return $this->error('400013',$validator->errors()->first()); } $war=Warea::where('admin_id',$input['admin_id'])->where('id','!=',$input['id'])->first(); if($war){ return $this->error('450001','政委已绑定战区'); } $before=Warea::where('id',$input['id'])->value('name'); $admin_id=$input['admin_id']; $data['name']=$input['name']; $data['admin_id']=$admin_id; $data['admin_name']=$input['admin_name']; $row=Warea::where('id',$input['id'])->update($data); if($row){ $result=Warea::where('id',$input['id'])->first(); $result->before=$before; event(new AddWarea($result)); Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改战区信息成功,战区id='.$input['id']); return $this->success([]); } return $this->error(); } /* 战区禁用/启用 */ public function shelvedWarea(Request $request){ $user=Warea::find($request->post('id')); $user->status=($user->status==0)?'1':'0'; $row=$user->save(); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')禁用战区成功,战区id='.$request->post('id')); return $this->success([]); } return $this->error(); } //删除战区信息 public function destoryWarea(Request $request){ $input=$request->all(); $article=Warea::find($input['id']); $users=User::where('warea_id',$input['id'])->get(); if(count($users)>0){ return $this->error('450001','该战区存在代理,不能删除'); } $row=$article->delete(); if($row){ event(new DeleteWarea($article)); Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除战区成功,战区id='.$input['id']); return $this->success([]); } return $this->error(); } //政委管理 public function getCommissarList(Request $request){ $input=$request->all(); $page_size=$input['page_size']; $page_index=$input['page_index']; $num = ($page_index - 1) * $page_size; $where=function($query){ $query->whereIn('role_id',[23]); }; $count=Admin::where($where)->count(); if($count<=0){ $this->error('450001','暂无数据'); } $list=Admin::where($where)->skip($num)->take($page_size) ->orderBy('id','desc')->get(); foreach($list as $key =>$val){ $list[$key]->levels=$this->getEveryLevelAgentNum($val->id,2); } return $this->success_list($list,'获取数据成功',$count); } //获取政委信息 public function getCommissarInfo(){ $where=function($query){ $query->whereIn('role_id',[23]); }; $list=Admin::where($where)->where('status',1)->get(); return $this->success($list); } //获取各级别代理数量 public function getEveryLevelAgentNum($id,$type){ if($type==1){//战区 return User::where('warea_id',$id) ->select('level',DB::Raw('count(*) as num')) ->groupBy('level')->orderBy('level','desc')->get(); }elseif($type==2){//政委 //获取政委战区 $warea_ids=Warea::where('admin_id',$id)->where('status',0)->pluck('id'); return User::whereIn('warea_id',$warea_ids) ->select('level',DB::Raw('count(*) as num')) ->groupBy('level')->orderBy('level','desc')->get(); }else{ return ''; } } //获取筛选代理 public function getAgentList(Request $request){ $input=$request->all(); $page_size=$input['page_size']; $page_index=$input['page_index']; $num = ($page_index - 1) * $page_size; $warea_id=$input['warea_id']; $commissar_id=$input['commissar_id']; $data=User::where(''); if($warea_id && $commissar_id){ $data->where('warea_id',$warea_id); }elseif (empty($warea_id) && $commissar_id){ $warea_ids=$this->getAllWareaIds($commissar_id); $data->whereIn('warea_id',$warea_ids); } $count=$data->count(); if($count==0){ $this->error('400001','没有数据'); } $list=$data->skip($num)->take($page_size) ->orderBy('id','desc')->get(); return $this->success_list($list,'获取数据成功',$count); } //获取战区信息 public function getWareaInfo(){ $where=function($query){ $query->whereIn('role_id',[23]); }; $list=Admin::where($where)->where('status',1)->get(); foreach($list as $key=>$val){ $list[$key]->warea=Warea::where('admin_id',$val->id)->get(); } return $this->success($list); } public function getAllWareaIds($commissar_id){ return Warea::where('admin_id',$commissar_id)->where('status',0)->pluck('id'); } //======= //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab //代理公司分配战区 public function giveUserWarea(){ $agent= DB::table('service_copy1')->get(); DB::beginTransaction(); $uuu=[]; try { foreach ($agent as $key => $val) { $warea_id = Warea::where('name', $val->war_names)->value('id'); User::where('mobile', $val->phone)->where('level', 3)->update(['warea_id' => $warea_id]); $user = User::where('mobile', $val->phone)->where('level', 3)->first(); if(!$user){ array_push($uuu,$val); } if($user){ $one = User::where('agent_id', $user->id)->pluck('id'); if (count($one)>0) { User::whereIn('id', $one)->update(['warea_id' => $warea_id]); foreach ($one as $k => $v) { $two = User::where('agent_id', $v)->pluck('id'); if (count($two)>0) { User::whereIn('id', $two)->update(['warea_id' => $warea_id]); } } } } } DB::commit(); return $this->success($uuu); // return $this->success([]); }catch (\Exception $e){ DB::rollBack(); return $this->error('400154','',$e->getMessage()); } } }