id)->update(['freeze_status'=>0,'freeze_time'=>null]); return $this->success([]); } //获取代理列表信息 public function getUserList(Request $request) { $input = $request->all(); $page_size = $input['page_size']; $page_index = $input['page_index']; $num = ($page_index - 1) * $page_size; $search_name = $input['search_name']; $info_select = $input['info_select']; $recom_name = $request->has('recom_name') ? $input['recom_name'] : ''; $agent_name = $request->has('agent_name') ? $input['agent_name'] : ''; $commissar_id = $input['commissar']; $warea_id = $input['warea_id']; $where = []; if ($input['level'] == '4') { $user = User::onlyTrashed()->where($where); } elseif ($input['level'] == 'all') { $user = User::withTrashed()->where($where); } elseif ($input['level']==5){ $user = User::withTrashed()->where($where)->where('freeze_status',1); }else { $where['level'] = $input['level']; $user = User::where($where); } if ($request->has('start_time')){ Log::error('时间'); if ($input['start_time']){ $user->where('created_at','>=',$input['start_time']); } } if ($request->has('end_time')){ if ($input['end_time']){ $user->where('created_at','<=',$input['end_time']); } } if ($input['level']!=4){ $user->whereIn('cert_status', [3, 6])->where('service_status','<>',2); } // if ($search_name) { // $user->where(function ($query) use ($search_name) { // $query->where('nickname', 'like', '%' . $search_name . '%') // ->orWhere('mobile', $search_name) // ->orWhere('cre_num', $search_name) // ->orWhere('realname', 'like', '%' . $search_name . '%'); // }); // } if ($search_name) { if ($info_select==1){ $user->where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like','%'.$search_name.'%' ) ->orWhere('cre_num', $search_name) ->orWhere('realname', 'like', '%' . $search_name . '%'); }); }elseif ($info_select==2){ $recom_id = $this->getUserInfo($search_name); $user->whereIn('recom_id', $recom_id); }else{ $agent_id = $this->getUserInfo($search_name); $user->whereIn('agent_id', $agent_id); } } // if ($agent_name) { // $agent_id = $this->getUserInfo($agent_name); // $user->whereIn('agent_id', $agent_id); // // } // if ($recom_name) { // $recom_id = $this->getUserInfo($recom_name); // $user->whereIn('recom_id', $recom_id); // // } //<<<<<<< HEAD if ($warea_id && $commissar_id) { $user->where('warea_id', $warea_id); } if ($commissar_id && empty($warea_id)) { $warea_ids = Warea::where('admin_id', $commissar_id)->pluck('id'); $user->whereIn('warea_id', $warea_ids); } $count = $user->where($where)->count(); if ($count == 0) { $this->error('400001', '没有数据'); } $list = $user->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile,level', 'warea:id,name,admin_name']) ->select('deleted_at','id', 'nickname','name', 'remark','realname', 'level', 'headimgurl', 'mobile', 'recom_id','remark_name','freeze_status','login_at','freeze_time', 'agent_id','service_status', 'warea_id','cre_num', 'status','province','city','country','address','in_group', DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted')) ->orderBy('id', 'desc')->skip($num)->take($page_size)->get(); $admin=Auth::user(); $status=false; if($admin->role_id==22 || $admin->role_id==32){ $status=true; } foreach ($list as $k=>$v){ if (empty($v->remark)){ $list[$k]['remark']=''; } if ($v->deleted_at){ $list[$k]['deletd_info']=AgentOperationLog::where('user_id',$v->id) ->where('type',4)->orderByDesc('created_at')->first(); } if (!empty($v->headimgurl)){ $list[$k]['headimgurl']=mb_substr($v->headimgurl,0,-3).'0'; } if ($v->level!=3 && $v->level!=0){ if ($v->agent->level==3 || $v->agent->level==0){ $list[$k]->crown=$v->agent; }else{ $res=$this->get_crown($v->agent->id); $list[$k]->crown=$res; } }else{ $list[$k]->crown=''; } if (!$status){ if ($list[$k]->cre_num){ $list[$k]->cre_num=mb_substr($list[$k]->cre_num,0,2).'********'.mb_substr($list[$k]->cre_num,14); } } // $list[$k]['is_test']=1; // $test_user=TestUser::where('phone',$v->mobile)->first(); // if(!empty($test_user) ){ // $list[$k]['is_test']=0; // } } return $this->success_list($list, '获取数据成功', $count); } //添加内测 public function addTestUser(Request $request){ $rules=[ 'phone'=>'required|regex:/^1[3456789][0-9]{9}$/', ]; $message=[ 'phone.required'=>'手机号不能为空.', 'phone.regex'=>'手机号格式有误.', ]; $validator = Validator::make($request->input(),$rules,$message); if($validator->fails()){ return $this->error('400013',$validator->errors()->first()); } if(TestUser::where('phone',$request->input('phone'))->first()){ return $this->error('450001','手机号已存在'); } $res=TestUser::create([ 'phone'=>$request->input('phone'), 'name'=>$request->input('realname'), 'nickname'=>$request->input('nickname'), 'level'=>$request->input('level'), ]); if($res){ return $this->success([]); }else{ return $this->error(); } } //添取消内测 public function cancelTestUser(Request $request){ $rules=[ 'phone'=>'required|regex:/^1[345789][0-9]{9}$/', ]; $message=[ 'phone.required'=>'手机号不能为空.', 'phone.regex'=>'手机号格式有误.', ]; $validator = Validator::make($request->input(),$rules,$message); if($validator->fails()){ return $this->error('400013',$validator->errors()->first()); } $res=TestUser::where('phone',$request->input('phone'))->delete(); if($res){ return $this->success([]); }else{ return $this->error(); } } /**查找代理公司**/ public function get_crown($id){ $re=User::with(['agent:id,nickname,mobile,level'])->where('id',$id)->first(); if (!$re){ return ''; } if ($re->agent->level!=3 && $re->agent->level!=0){ $res=$this->get_crown($re->agent->id); return $res; } return $re->agent; } //根据输入条件查询用户 public function getUserInfo($search = null) { return User::where('nickname', 'like', '%' . $search . '%') ->orWhere('mobile', $search) ->orWhere('cre_num', $search) ->orWhere('realname', 'like', '%' . $search . '%') ->pluck('id'); } //导出代理信息 public function exportUserList(Request $request) { ini_set('memory_limit', '2048M'); $input = $request->all(); $page_size = $input['page_size']; $page_index = $input['page_index']; $num = ($page_index - 1) * $page_size; $search_name = $input['search_name']; $info_select = $input['info_select']; $recom_name = $request->has('recom_name') ? $input['recom_name'] : ''; $agent_name = $request->has('agent_name') ? $input['agent_name'] : ''; $commissar_id = $input['commissar']; $warea_id = $input['warea_id']; $where = []; if ($input['level'] == '4') { $user = User::onlyTrashed()->where($where); } elseif ($input['level'] == 'all') { $user = User::where($where)->whereNull('deleted_at'); }elseif ($input['level']==5){ $user = User::withTrashed()->where($where)->where('freeze_status',1); } else { $where['level'] = $input['level']; $user = User::where($where); } if ($request->has('start_time')){ if ($input['start_time']){ $user->where('created_at','>=',$input['start_time']); } } if ($request->has('end_time')){ if ($input['end_time']){ $user->where('created_at','<=',$input['end_time']); } } $user->whereIn('cert_status', [3, 6])->where('service_status',0); if ($search_name) { // $user->where(function ($query) use ($search_name) { // $query->where('nickname', 'like', '%' . $search_name . '%') // ->orWhere('mobile', $search_name) // ->orWhere('cre_num', $search_name) // ->orWhere('realname', 'like', '%' . $search_name . '%'); // }); if ($info_select==1){ $user->where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like',"%$search_name%") ->orWhere('cre_num', $search_name) ->orWhere('realname', 'like', '%' . $search_name . '%'); }); }elseif ($info_select==2){ $recom_id = $this->getUserInfo($search_name); $user->whereIn('recom_id', $recom_id); }else{ $agent_id = $this->getUserInfo($search_name); $user->whereIn('agent_id', $agent_id); } } // if ($agent_name) { // $agent_id = $this->getUserInfo($agent_name); // $user->whereIn('agent_id', $agent_id); // } // if ($recom_name) { // $recom_id = $this->getUserInfo($recom_name); // $user->whereIn('recom_id', $recom_id); // } if ($warea_id && $commissar_id) { $user->where('warea_id', $warea_id); } if ($commissar_id && empty($warea_id)) { $warea_ids = Warea::where('admin_id', $commissar_id)->pluck('id'); $user->whereIn('warea_id', $warea_ids); } $list = $user->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile,level', 'warea:id,name,admin_name']) ->select('id', 'nickname', 'realname', 'cre_num', 'remark', 'level', 'mobile', 'recom_id', 'agent_id', 'warea_id', 'auth_code', 'auth_startime', 'auth_endtime', 'recom_code', 'status','remark_name','freeze_status','login_at','freeze_time','service_status','in_group', DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted'),'deleted_at','province','city','country','address') ->orderBy('id', 'desc') // ->skip($num)->take(10000) ->get(); $WDUserIds=WdStore::where('is_apply',3)->pluck('user_id')->toArray(); foreach ($list as $k=>$v){ if (in_array($v->id,$WDUserIds)){ $list[$k]->store_status=true; }else{ $list[$k]->store_status=false; } if ($v->deleted_at){ $list[$k]->crown=''; }else{ if ($v->level!=3 && $v->level!=0){ if ($v->agent){ if ($v->agent->level==3 || $v->agent->level==0){ $list[$k]->crown=$v->agent; }else{ $res=$this->get_crown($v->agent->id); $list[$k]->crown=$res; } }else{ $list[$k]->crown=''; } }else{ $list[$k]->crown=''; } } if ($v->level==3){ if ($v->remark_name){ $list[$k]->nickname=$v->remark_name; } } } if ($list) { return $this->success($list); } else { return $this->error(); } } //代理详情 public function getUserDetails(Request $request) { $input = $request->all(); $user = User::withTrashed()->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile' ])->where('id', $input['id'])->first(); if ($user) { if ($user->level == '3') { $childAgent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray(); $childAgentIds = array_column($childAgent, 'id'); if ($childAgentIds) { $childChildAgent = User::whereIn('agent_id', $childAgentIds)->select('id', 'nickname', 'level', 'mobile')->get()->toArray(); $user->child_agent = array_merge($childAgent, $childChildAgent); } else { $user->child_agent = $childAgent; } $user->childAgentCount = count($user->child_agent); } elseif ($user->level == '2') { $user->child_agent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray(); $user->childAgentCount = count($user->child_agent); $user->change_info=AgentOperationLog::where('user_id',$user->id)->where('type',2)->first(); } else { $user->child_agent = []; $user->childAgentCount = 0; } if ($user->warea_id) { $warea = Warea::where('id', $user->warea_id)->first(); $user['warea']->warea_name = $warea->name; if ($warea->admin_id) { $user['warea']->commissar = Admin::where('id', $warea->admin_id)->value('name'); } } if (!empty($user->deleted_at)) { $user->delete = '1';//已删除 } else { $user->delete = '0';//未删除 } if ($user->cre_num){ $user->cre_num=mb_substr($user->cre_num,0,2).'********'.mb_substr($user->cre_num,14); } $user->up_team=$this->getUpTeam($user->id); // event(new ChangeUserInfo($user)); return $this->success($user); } else { return $this->error('400004', '代理信息不存在'); } } /**点击查看身份证号**/ public function GetCreNum(Request $request){ $id=$request->input('id'); $cre_num=User::where('id',$id)->select('cre_num','mobile','nickname')->first(); $data=['type'=>0,'time'=>Carbon::now()->toDateTimeString(), 'created_at'=>Carbon::now()->toDateTimeString(),'updated_at'=>Carbon::now()->toDateTimeString(), 'user_id'=>$id, 'log'=>Auth::user()->name.'查看了该代理('.$cre_num->nickname.'手机号:'.$cre_num->mobile.')的身份证号码。' ]; DB::table('look_user_log')->insert($data); return $this->success(['cre_num'=>$cre_num->cre_num]); } //代理详情 public function getUserDetailsdemo(Request $request) { $input = $request->all(); $user = User::withTrashed()->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile' ])->where('id', $input['id'])->first(); if ($user) { if ($user->level == '3') { $childAgent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile' ])->get()->toArray(); $childAgentIds = array_column($childAgent, 'id'); if ($childAgentIds) { $childChildAgent = User::whereIn('agent_id', $childAgentIds)->select('id', 'nickname', 'level', 'mobile')->with(['recom:id,recom_id,nickname,mobile', 'agent:id,nickname,mobile' ])->get()->toArray(); $user->child_agent = array_merge($childAgent, $childChildAgent); } else { $user->child_agent = $childAgent; } $user->childAgentCount = count($user->child_agent); } elseif ($user->level == '2') { $user->child_agent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray(); $user->childAgentCount = count($user->child_agent); } else { $user->child_agent = []; $user->childAgentCount = 0; } if ($user->warea_id) { $warea = Warea::where('id', $user->warea_id)->first(); $user['warea']->warea_name = $warea->name; if ($warea->admin_id) { $user['warea']->commissar = Admin::where('id', $warea->admin_id)->value('name'); } } if (!empty($user->deleted_at)) { $user->delete = '1';//已删除 } else { $user->delete = '0';//未删除 } $user->up_team=$this->getUpTeam($user->id); // event(new ChangeUserInfo($user)); // foreach ($user as $k=>$v){ // $user[$k]->racom_mobile=$v; //// $user[$k]['racom_nickname']=$v->recom->nickname; //// $user[$k]['racom_level']=$v->recom->level; //// $user[$k]['agent_mobile']=$v->agent->mobile; //// $user[$k]['agent_nickname']=$v->agent->nickname; //// $user[$k]['agent_level']=$v->agent->level; // } return $this->success($user); } else { return $this->error('400004', '代理信息不存在'); } } //获取战区政委信息 public function getWareaInfo($warea_id) { $data = []; if ($warea_id) { $warea = Warea::where('id', $warea_id)->first(); if ($warea) { $data['warea_name'] = $warea->name; if ($warea->admin_id) { $data['commissar'] = Admin::where('id', $warea->admin_id)->value('name'); } } } return $data; } //获取未审核代理列表信息 public function getNocertUserList(Request $request) { $input = $request->all(); $page_size = $input['page_size']; $page_index = $input['page_index']; $num = ($page_index - 1) * $page_size; $search_name = $input['search_name']; if ($input['cert'] == 'all') { $where = []; } elseif($input['cert'] == '7'){ $where['service_status']=2; }else { $where['cert_status'] = $input['cert']; } $data = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('cre_num', 'like', '%' . $search_name . '%') ->orWhere('realname', 'like', '%' . $search_name . '%'); }) ->where($where) ->where('id', '<>', 1); if($input['cert'] == '7'){ $admin=Auth::user(); if($admin->role_id==23){ $warea_ids = Warea::where('admin_id',$admin->id)->pluck('id'); $data->whereIn('warea_id',$warea_ids); } } $count = $data->count(); if ($count == 0) { $this->error('400001', '没有数据'); } // DB::enableQueryLog(); $list = $data ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'crown:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc,company_audit_desc') ->skip($num)->take($page_size) ->get(); if (empty($list)) { return $this->error('400002', '没有获取到数据'); } return $this->success_list($list, '获取数据成功', $count); } //恢复代理公司驳回 public function restoreCompanyRejected(Request $request){ $id=$request->input('id'); DB::beginTransaction(); try{ $user=User::find($id); UserCert::where('user_id',$id)->update(['company_audit'=>0,'company_audit_desc'=>null]); $user->service_status=1; $user->save(); DB::commit(); return $this->success([]); }catch(\Exception $e){ DB::rollback(); return $this->error(); } } //获取代理授权信息 public function getAuthUserList(Request $request) { $input = $request->all(); $page_size = $input['page_size']; $page_index = $input['page_index']; $num = ($page_index - 1) * $page_size; $search_name = $input['search_name']; $status = $input['status']; $where = []; switch ($status) { case '0': //未授权 $auth_status = 0; $count = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('cre_num', 'like', '%' . $search_name . '%') ->orWhere('realname', 'like', '%' . $search_name . '%'); })->whereNull('auth_code') ->where('id', '<>', 1) ->count(); if ($count == 0) { $this->error('400001', '没有数据'); } $list = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('cre_num', 'like', '%' . $search_name . '%') ->orWhere('realname', 'like', '%' . $search_name . '%'); }) ->whereNull('auth_code') ->where('id', '<>', 1) ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc') ->skip($num)->take($page_size) ->get(); break; case '1': //已授权 $auth_status = 1; $nowDate = date("Y-m-d H:i:s", time()); $count = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('auth_code', 'like', '%' . $search_name . '%'); }) ->where($where) ->where('id', '<>', 1) // ->where('auth_startime','<=',$nowDate) ->where('auth_endtime', '>=', $nowDate) ->count(); if ($count == 0) { $this->error('400001', '没有数据'); } $list = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('auth_code', 'like', '%' . $search_name . '%'); }) ->where($where) ->where('id', '<>', 1) // ->where('auth_startime','<=',$nowDate) ->where('auth_endtime', '>=', $nowDate) ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc') ->skip($num)->take($page_size) ->get(); break; case '2': //已过期 $auth_status = 2; $nowDate = date("Y-m-d H:i:s", time()); // if($input['auth_time']){ // $where['auth_startime']=$input['auth_time']; // } $count = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('auth_code', 'like', '%' . $search_name . '%'); }) ->where($where) ->where('id', '<>', 1) ->where('auth_endtime', '<', $nowDate) ->count(); if ($count == 0) { $this->error('400001', '没有数据'); } $list = User::where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('auth_code', 'like', '%' . $search_name . '%'); }) ->where($where) ->where('id', '<>', 1) ->where('auth_endtime', '<', $nowDate) ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc') ->skip($num)->take($page_size) ->get(); break; } if ($list) { foreach ($list as $key => $val) { $list[$key]['auth_status'] = $auth_status; } } return $this->success_list($list, '获取数据成功', $count); } //代理重新授权 public function updateUserAuthInfo(Request $request) { $input = $request->all(); $userInfo = User::find($input['id']); if (empty($userInfo)) { return $this->error('400213', '代理信息不存在'); } $auth_code = $this->getAuthCode(); $data['auth_code'] = $auth_code; $data['auth_startime'] = $input['auth_startime']; $data['auth_endtime'] = $input['auth_endtime']; DB::beginTransaction(); $row = User::where('id', $input['id'])->update($data); $remark = '单个授权'; $res = $this->addAgentOperationLog('5', $input['id'], $remark); if ($row && $res) { DB::commit(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')授权代理信息成功,代理id=' . $input['id']); return $this->success([], '授权成功'); } DB::rollBack(); return $this->error(); } //代理批量授权 public function updateUserManyAuthInfo(Request $request) { $input = $request->all(); $userId = $input['userId']; DB::beginTransaction(); try { foreach ($userId as $key => $val) { $userInfo = User::find($val); if (empty($userInfo)) { return $this->error('400213', '代理(id=' . $val . ')信息不存在'); } $auth_code = $this->getAuthCode(); $data['auth_code'] = $auth_code; $data['auth_startime'] = $input['auth_startime']; $data['auth_endtime'] = $input['auth_endtime']; User::where('id', $val)->update($data); $remark = '批量授权'; $this->addAgentOperationLog('5', $val, $remark); } DB::commit(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')授权代理信息成功,代理ids=' . json_encode($userId)); return $this->success([], '授权成功'); } catch (Exception $e) { DB::rollBack(); return $this->error(); } } // public function updateBatch($multipleData = []) // { // try { // if (empty($multipleData)) { // throw new \Exception("数据不能为空"); // } // $tableName = DB::getTablePrefix() . $this->getTable(); // 表名 // $firstRow = current($multipleData); // $updateColumn = array_keys($firstRow); // // 默认以id为条件更新,如果没有ID则以第一个字段为条件 // $referenceColumn = isset($firstRow['id']) ? 'id' : current($updateColumn); // unset($updateColumn[0]); // // 拼接sql语句 // $updateSql = "UPDATE " . $tableName . " SET "; // $sets = []; // $bindings = []; // foreach ($updateColumn as $uColumn) { // $setSql = "`" . $uColumn . "` = CASE "; // foreach ($multipleData as $data) { // $setSql .= "WHEN `" . $referenceColumn . "` = ? THEN ? "; // $bindings[] = $data[$referenceColumn]; // $bindings[] = $data[$uColumn]; // } // $setSql .= "ELSE `" . $uColumn . "` END "; // $sets[] = $setSql; // } // $updateSql .= implode(', ', $sets); // $whereIn = collect($multipleData)->pluck($referenceColumn)->values()->all(); // $bindings = array_merge($bindings, $whereIn); // $whereIn = rtrim(str_repeat('?,', count($whereIn)), ','); // $updateSql = rtrim($updateSql, ", ") . " WHERE `" . $referenceColumn . "` IN (" . $whereIn . ")"; // // 传入预处理sql语句和对应绑定数据 // return DB::update($updateSql, $bindings); // } catch (\Exception $e) { // return false; // } // } // } //添加代理信息 public function uploadUser(Request $request) { $input = $request->all(); $rules = [ 'mobile' => ['required', Rule::unique('users')->where(function ($query) { $query->where('deleted_at', null); }), 'regex:/^1[0-9][0-9]{9}$/'], 'cre_num' => ['nullable', Rule::unique('users')->where(function ($query) { $query->where('deleted_at', null); })], 'share' => 'required | regex:/^1[345789][0-9]{9}$/', 'nickname' => 'required', 'level' => 'required | numeric', ]; $uuu = new User(); $validator = User::validator($input, $rules); if ($validator->fails()) { return $this->error('400013', $validator->errors()->first()); } $idValidator = new IdValidator(); if ($input['cre_num']) { if (!$idValidator->isValid($input['cre_num'])) { return $this->error('400013', '身份证号有误'); } } $code = $this->getRandomString(6); $recom = User::where('mobile', $input['share'])->first(); if (empty($recom)) { return $this->error('400115', '邀请人信息不存在'); } if ($input['level'] == $recom->level) { $agent_id = $recom->agent_id; } if ($input['level'] < $recom->level) { $agent_id = $recom->id; } if ($input['level'] > $recom->level) { if ($input['level'] == '3') { $agent_id = '1'; } else { $recom_up=User::find($recom->agent_id); if($recom_up->level=='2'){ $agent_id = $recom_up->agent_id; }else{ $agent_id = $recom_up->id; } } } $agent = User::where('id', $agent_id)->first(); if ($agent->level == 3) { $crown_id = $agent->id; } elseif ($agent->level == 2) { $crown_id = $agent->agent_id; } else { $crown_id = ''; } $warea_id = $recom->warea_id; // if($crown_id){ // $warea_id=User::where('id',$crown_id)->value('warea_id'); // }else{ // $warea_id=''; // } DB::beginTransaction(); try { $data['mobile'] = $input['mobile']; $data['name'] = $input['nickname']; $data['nickname'] = $input['nickname']; $data['realname'] = $input['realname']; $data['password'] = MD5($input['mobile']); $data['cre_num'] = $input['cre_num']; $data['level'] = $input['level']; $data['headimgurl'] = 'https://img.bosszhipin.com/beijin/mcs/chatphoto/20181102/e0e8b50969101987a84f1643716b41ffcfcd208495d565ef66e7dff9f98764da.jpg'; $data['status'] = 0; $data['cert_status'] = '6'; $data['agent_id'] = $agent_id; $data['recom_id'] = $recom->id; $data['crown_id'] = $crown_id; $data['warea_id'] = $warea_id; $data['recom_code'] = $code; $data['auth_code'] = $this->getAuthCode(); $data['auth_startime'] = date('Y-m-01 00:00:00'); $data['auth_endtime'] = date('Y-m-01 00:00:00', strtotime('+1 years')); $data['register_type'] = '2'; $row = User::create($data); $recoms['title'] = '新增成员推送'; $recoms['type'] = '1'; $recoms['data'] = ''; $recoms['status'] = '0'; $recoms['user_id'] = $row->recom_id; $recoms['agent_id'] = '1'; Message::create($recoms); $agents['title'] = '新增成员推送'; $agents['type'] = '1'; $agents['data'] = ''; $agents['status'] = '0'; $agents['user_id'] = $row->agent_id; $agents['agent_id'] = '1'; Message::create($agents); $after = ['id' => $row->id, 'nickname' => $row->nickname, 'mobile' => $row->mobile, 'level' => $row->level, 'recom_id' => $row->recom_id, 'recom_mobile' => $input['share'], 'agent_id' => $row->agent_id]; $log = '添加代理成功,代理信息:' . json_encode($after, JSON_UNESCAPED_UNICODE); $this->addAgentOperationLog('1', $row->id, '', $log); if($input['level']==3){ event(new AddAgent($row)); } DB::commit(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')添加' . $row->level . '级代理:' . $data['nickname'] . '(id=' . $row->id . ')成功,邀请人:' . $recom->nickname . '(id=' . $row->recom_id . ')'); return $this->success([], '添加成功'); } catch (Exception $e) { DB::rollBack(); return $e->getMessage(); return $this->error(); } } /*授权码*/ function getAuthCode() { $time = time(); $three = mt_rand(100, 999); $res = date('ymd', $time); $re = mt_rand(10000000000, 99999999999); $data = 'DWBS00' . $three . $res . $re; return $data; } /* 随机字符串 邀请码*/ function getRandomString($len, $chars = null) { if (is_null($chars)) { $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; } mt_srand(10000000 * (double)microtime()); for ($i = 0, $str = '', $lc = strlen($chars) - 1; $i < $len; $i++) { $str .= $chars[mt_rand(0, $lc)]; } $count = User::where('recom_code', $str)->count(); if ($count > 0) { $this->getRandomString(6); } else { return $str; } } //修改手机号 public function updateMobile(Request $request) { $input = $request->all(); $rules = [ 'mobile' => [ 'required', Rule::unique('users')->ignore($input['id'], 'id')->where(function ($query) { $query->where('deleted_at', null); }), 'regex:/^1[3456789][0-9]{9}$/' ], ]; $uuu = new User(); $validator = $uuu->validator($input, $rules); if ($validator->fails()) { return $this->error('400013', $validator->errors()->first()); } $user = User::find($input['id']); $phone = $user->mobile; $user->mobile = $input['mobile']; $user->auth_img=null; DB::beginTransaction(); $row = $user->save(); $res = $this->addAgentOperationLog('6', $user->id); if ($row && $res) { DB::commit(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')手机号成功,原手机号:' . $phone . ',新手机号:' . $input['mobile']); return $this->success([], '修改成功'); } else { DB::rollBack(); return $this->error(); } //======= // $row=$user->save(); // if($row){ // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改代理:'.$user->nickname.'(id='.$user->id.')手机号成功,原手机号:'.$phone.',新手机号:'.$input['mobile']); // return $this->success([],'修改成功'); // } // return $this->error(); //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab } //修改推荐人(如果该处皇冠团队,下级代理信息变更很严重)代理邀请人员后,或者成为上级后不能变更推荐人 public function updateRecom(Request $request) { $input = $request->all(); $rules = [ 'mobile' => [ 'required', 'regex:/^1[3457689][0-9]{9}$/' ], 'remark' => ['required'] ]; $messages = [ 'mobile.required' => '手机号不能为空.', 'mobile.regex' => '手机号格式有误.', 'remark.required' => '备注原因不能为空.' ]; $uuu = new User(); $validator = $uuu->validator($input, $rules, $messages); if ($validator->fails()) { return $this->error('400013', $validator->errors()->first()); } $user = User::find($input['id']);//当前用户 if ($user->recom_id) { $recom_id = $user->recom_id; } else { $recom_id = '暂无'; } if ($user->agent_id) { $up_id = $user->agent_id; } else { $up_id = '暂无'; } $agentCount = User::where(function ($query) use ($input) { $query->where('recom_id', '=', $input['id']) ->orWhere('agent_id', '=', $input['id']); })->count(); //代理邀请人员后,或者成为上级后不能变更推荐人 // if($agentCount>0){ // return $this->error('400112','当前用户邀请人信息不能修改'); // } $recomUser = User::where("mobile", $input['mobile'])->first();//新邀请人信息 if (empty($recomUser)) { return $this->error('400115', '邀请人信息不存在'); } if ($user->recom_id == $recomUser->id) { return $this->error('400111', '要更改的邀请人与当前邀请人相同'); } if ($user->id == $recomUser->recom_id) { return $this->error('400116', '要更改的邀请人的邀请人为自己'); } if ($user->id == $recomUser->id) { return $this->error('400116', '要更改的邀请人不能为自己'); } $uuu = new User(); $rechecking = $uuu->changeRecomSystem($input['id'], $input['mobile']); if ($rechecking == '222') { return $this->error('400116', '要更改的邀请人为当前代理邀请人系统体系内部成员'); } DB::beginTransaction(); try { if ($user->level == '3') { $user->recom_id = $recomUser->id; $user->agent_id = '1'; $user->crown_id = ''; if ($user->warea_id != $recomUser->warea_id) { $user->warea_id = $recomUser->warea_id; $one_agent = User::where('agent_id', $user->id)->pluck('id'); if (count($one_agent) > 0) { User::whereIn('id', $one_agent)->update(['warea_id' => $recomUser->warea_id]); foreach ($one_agent as $key => $val) { $two_agent = User::where('agent_id', $val)->pluck('id'); if (count($two_agent) > 0) { User::whereIn('id', $two_agent)->update(['warea_id' => $recomUser->warea_id]); } } } } } else { if ($recomUser->level == '3') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->id; $user->crown_id = $recomUser->id; $user->warea_id = $recomUser->warea_id; if ($user->level == '2') { $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->id); } elseif ($user->level == '1') { $uuu->changeAgentLevelInfoThree($user->id, $recomUser->id, $recomUser->id); } $uuu->changeAgentRecomCrown($user->id, $recomUser->id, $recomUser->warea_id); } elseif ($recomUser->level == '2') { if ($user->level == '2') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->agent_id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->agent_id); } elseif ($user->level == '1') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoThree($user->id, $recomUser->agent_id, $recomUser->id); } $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id); } elseif ($recomUser->level == '1') { $recomAgent = User::find($recomUser->agent_id); if ($user->level == '2') { if ($recomAgent->level==$user->level){ $user->recom_id = $recomUser->id; $user->agent_id = $recomAgent->agent_id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->agent_id); }elseif($recomAgent->level==3){ $user->recom_id = $recomUser->id; $user->agent_id = $recomAgent->id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->id); } } elseif ($user->level == '1') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->agent_id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoThree($user->id, $recomAgent->agent_id, $recomUser->agent_id); } $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id); } } $row = $user->save(); $remark = $input['remark']; $before = User::where('id', $recom_id)->select('id', 'nickname', 'mobile')->first(); $after = ['id' => $recomUser->id, 'nickname' => $recomUser->nickname, 'mobile' => $recomUser->mobile]; $log = '变更前邀请人:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',变更后邀请人:' . json_encode($after, JSON_UNESCAPED_UNICODE); $img=$request->input('img',[]); $this->addAgentOperationLog('3', $user->id, $remark, $log,json_encode($img)); event(new ChangeRecom($user)); DB::commit(); // if($row){ Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')邀请人成功,原邀请人id=' . $recom_id . ',原上级id=' . $up_id . ',新邀请人:' . $recomUser->nickname . '(id=' . $recomUser->id . ')'); return $this->success([]); // } // return $this->success([],'修改成功'); } catch (Exception $e) { // return $e; //======= // if($user->level=='3'){ // $user->recom_id=$recomUser->id; // $user->agent_id='1'; // $user->crown_id=''; // $user->warea_id=''; // }else{ // if($recomUser->level=='3'){ // $user->recom_id=$recomUser->id; // $user->agent_id=$recomUser->id; // $user->crown_id=$recomUser->id; // $user->warea_id=$recomUser->warea_id; // if($user->level=='2'){ // $uuu->changeAgentLevelInfoTwo($user->id,$recomUser->id); // }elseif($user->level=='1'){ // $uuu->changeAgentLevelInfoThree($user->id,$recomUser->id,$recomUser->id); // } // $uuu->changeAgentRecomCrown($user->id,$recomUser->id,$recomUser->warea_id); // }elseif($recomUser->level=='2'){ // if($user->level=='2'){ // $user->recom_id=$recomUser->id; // $user->agent_id=$recomUser->agent_id; // $user->crown_id=$recomUser->crown_id; // $user->warea_id=$recomUser->warea_id; // $uuu->changeAgentLevelInfoTwo($user->id,$recomUser->agent_id); // }elseif ($user->level=='1'){ // $user->recom_id=$recomUser->id; // $user->agent_id=$recomUser->id; // $user->crown_id=$recomUser->crown_id; // $user->warea_id=$recomUser->warea_id; // $uuu->changeAgentLevelInfoThree($user->id,$recomUser->agent_id,$recomUser->id); // } // $uuu->changeAgentRecomCrown($user->id,$recomUser->crown_id,$recomUser->warea_id); // }elseif($recomUser->level=='1'){ // $recomAgent=User::find($recomUser->agent_id); // if($user->level=='2'){ // $user->recom_id=$recomUser->id; // $user->agent_id=$recomAgent->agent_id; // $user->crown_id=$recomUser->crown_id; // $user->warea_id=$recomUser->warea_id; // $uuu->changeAgentLevelInfoTwo($user->id,$recomAgent->agent_id); // }elseif ($user->level=='1'){ // $user->recom_id=$recomUser->id; // $user->agent_id=$recomUser->agent_id; // $user->crown_id=$recomUser->crown_id; // $user->warea_id=$recomUser->warea_id; // $uuu->changeAgentLevelInfoThree($user->id,$recomAgent->agent_id,$recomUser->agent_id); // } // $uuu->changeAgentRecomCrown($user->id,$recomUser->crown_id,$recomUser->warea_id); // } // } // $row=$user->save(); // DB::commit(); // if($row){ // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改代理:'.$user->nickname.'(id='.$user->id.')邀请人成功,原邀请人id='.$recom_id.',原上级id='.$up_id.',新邀请人:'.$recomUser->nickname.'(id='.$recomUser->id.')'); // return $this->success([]); // } // return $this->success([],'修改成功'); // }catch(Exception $e) { // return $e; //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab DB::rollBack(); return $this->error(422,$e->getMessage()); } // if($user->level==$recomUser->level){ //特级-》特级 顶级-》顶级 皇冠-》皇冠 // $user->agent_id=$recomUser->agent_id; // } // if($user->level<$recomUser->level){ //皇冠-》顶级 皇冠-》特级 顶级-》特级 // $user->agent_id=$recomUser->id; // } // if($user->level>$recdestoryuseromUser->level){ // 特级-》顶级 特级-》皇冠 顶级-》皇冠 // if($user->level=='3'){//如果当前用户为皇冠 特级-》皇冠 顶级-》皇冠 // $user->agent_id='1'; // }else{ // 特级-》顶级 // $topUser=User::find($recomUser->agent_id);//邀请人上级 // if($topUser->level=='3'){//邀请人上级为皇冠 // $user->agent_id=$topUser->id; // }else{//邀请人上级不为皇冠 // $user->agent_id=$topUser->agent_id; // } // } // } } //代理升降级 public function updateAgentLevel(Request $request) { $auth_id=Auth::user()->role_id; $input = $request->all(); $remarks=$request->input('remark',null); $apply_id=$request->input('apply_id',null); $img=$request->input('img',null); if ($input['level']==3){ if ($auth_id!=22 && $auth_id!=32){ return $this->error('400115', '升级为代理公司只能由超级管理员进行操作'); } } $user = User::find($input['id']); if ($user->level==3 && $input['level']<$user->level){ if ($user->money>0){ return $this->error(400124,'代理公司账户中还存有余额,请将余额归零后降级'); } } $before_level=$user->level; $user_level=$user->level; if ($user->recom_id == '1') { return $this->error('400116', '邀请人为公司的代理不能变更等级'); } $recom = User::find($user->recom_id);//邀请人信息 if (empty($recom)) { return $this->error('400115', '代理邀请人信息不存在,升降级失败'); } $uuu = new User(); DB::beginTransaction(); try { $res = $uuu->changeAgentLevel($user, $input['level']); $message['title'] = '代理等级变更推送'; $message['data'] = '下级代理' . $input['id'] . '已升级'; $message['type'] = '1'; $message['status'] = '0'; $message['user_id'] = $user->agent_id; $message['agent_id'] = '1'; Message::create($message); if ($user_level == 1) { $before = '销售主管'; } elseif ($user_level == 2) { $before = '销售经理'; } elseif ($user_level == 3) { $before = '代理公司'; } else { $before = '无效等级'; } if ($input['level'] == 1) { $after = '销售主管'; } elseif ($input['level'] == 2) { $after = '销售经理'; } elseif ($input['level'] == 3) { $after = '代理公司'; } else { $after = '无效等级'; } if ($input['level'] > $user->level) { $remark = '升级'; $log = '(升级)变更前等级:' . $before . ',变更后等级:' . $after; } elseif ($input['level'] < $user->level) { $remark = $remarks==null?'降级':$remarks; $log = '(降级)变更前等级:' . $before . ',变更后等级:' . $after; } else { $remark = '等级变更错误'; $log = ''; } $result=User::find($input['id']); $result->before=$before_level; try { event(new ChangeUserLevel($result)); }catch (\Exception $exception){ } $this->addAgentOperationLog('2', $user->id, $remark, $log,$img,$apply_id); Log::info('代理:' . $user->nickname . '(id=' . $user->id . ')等级变更成功,原推荐人id为:' . $user->recom_id . '原上级id为:' . $user->agent_id); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')等级成功,原等级:' . $user->level . ',新等级:' . $input['level']); DB::commit(); return $this->success($request->all()); } catch (Exception $e) { DB::rollBack(); return $e->getMessage(); Log::info($e->getMessage()) ; return $this->error(); } } //皇冠战区选择 public function crownSelectWarea(Request $request) { $input = $request->all(); $user_id = $input['id']; $warea_id = $input['wid']; $user = User::where('id', $user_id)->first(); $before_war=$user->warea_id; if ($warea_id == $user->warea_id) { return $this->error('450001', '不能选择当前所在战区'); } $before = Warea::where('id', $user->warea_id)->select('id', 'name', 'admin_name')->first(); DB::beginTransaction(); try { $user->warea_id = $warea_id; $user->save(); $one_agent = User::where('agent_id', $user_id)->pluck('id'); if (count($one_agent) > 0) { User::whereIn('id', $one_agent)->update(['warea_id' => $warea_id]); foreach ($one_agent as $key => $val) { $two_agent = User::where('agent_id', $val)->pluck('id'); if (count($two_agent) > 0) { User::whereIn('id', $two_agent)->update(['warea_id' => $warea_id]); } } } $after = Warea::where('id', $warea_id)->select('id', 'name', 'admin_name')->first(); $log = '代理公司战区修改成功,修改前战区信息:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',修改后战区信息:' . json_encode($after, JSON_UNESCAPED_UNICODE); $this->addAgentOperationLog('7', $user_id, '', $log); $user->before=$before_war; event(new ChangeUserWar($user)); DB::commit(); return $this->success([]); } catch (Exception $e) { DB::rollBack(); return $this->error($e->getMessage()); } } /*后台审核*/ public function certUserStatus(Request $request) { $input = $request->all(); $user = User::find($input['id']); $usercert = UserCert::where('user_id', $input['id'])->first(); if (empty($usercert)) {//判断user_cert表信息是否存在,不存在则创建 $userC = new UserCert; $d['user_id'] = $input['id']; $d['recom_id'] = $user->recom_id; $userC->create($d); } $recom = User::find($user->recom_id);//邀请人信息 $remark = ''; if ($input['type'] == 1) { if ($input['level'] == '3') {//皇冠 $data['agent_id'] = '1'; $user->agent_id = '1'; $user->crown_id = ''; $user->warea_id = $recom->warea_id; //<<<<<<< HEAD } else { if ($recom->level > $input['level']) {//邀请人等级 > 代理等级 $data['agent_id'] = $recom->id; $user->agent_id = $recom->id; if ($recom->level == '3') { //======= // }else{ // if($recom->level>$input['level']){//邀请人等级 > 代理等级 // $data['agent_id']=$recom->id; // $user->agent_id=$recom->id; // if($recom->level=='3'){ //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab $user->crown_id = $recom->id; } else { $user->crown_id = $recom->crown_id; } $user->warea_id = $recom->warea_id; //<<<<<<< HEAD } if ($recom->level == $input['level']) {//邀请人等级 = 代理等级 $data['agent_id'] = $recom->agent_id; $user->agent_id = $recom->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; } if ($recom->level < $input['level']) {//邀请人等级 < 代理等级 if ($recom->agent_id == '3') { $data['agent_id'] = $recom->agent_id; $user->agent_id = $recom->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; } else { $agent = User::find($recom->agent_id);//邀请人上级代理信息 $data['agent_id'] = $agent->agent_id; $user->agent_id = $agent->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; } } } $data['recom_audit'] = $input['status']; $data['recom_audit_desc'] = $input['remark'] ? $input['remark'] : ''; $data['recom_updated_at'] = date("Y-m-d H:i:s"); DB::beginTransaction(); try { if ($input['status'] == '1') {//通过 $user->cert_status = '2'; //邀请人通过 $user->level = $input['level']; $user->save(); $remark = '邀请人审核通过'; } elseif ($input['status'] == '2') {//驳回 $user->cert_status = '4'; //邀请人驳回 $user->save(); $remark = '邀请人审核驳回'; } UserCert::where('user_id', $input['id'])->update($data); $this->addAgentOperationLog('8', $user->id, $remark); DB::commit(); return $this->success([]); } catch (Exception $e) { DB::rollBack(); return $this->error(); } } else { DB::beginTransaction(); try { $data['agent_audit'] = $input['status']; $data['agent_audit_desc'] = $input['remark'] ? $input['remark'] : ''; $data['agent_updated_at'] = date("Y-m-d H:i:s"); $userCert = UserCert::where('user_id', $input['id'])->where('recom_audit', '1')->first(); if ($userCert && $input['status'] == '1') { $user->cert_status = '3'; $user->auth_code = $this->getAuthCode(); $user->auth_startime = date("Y-m-01 00:00:00"); $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years")); $user->save(); $remark = '上级审核通过'; } elseif ($userCert && $input['status'] == '2') { $user->cert_status = '5'; $user->save(); $remark = '上级审核驳回'; } $userCert->update($data); $this->addAgentOperationLog('8', $user->id, $remark); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status); DB::commit(); return $this->success([]); } catch (Exception $e) { DB::rollBack(); return $this->error(); } } //======= // } // if($recom->level==$input['level']){//邀请人等级 = 代理等级 // $data['agent_id']=$recom->agent_id; // $user->agent_id=$recom->agent_id; // $user->crown_id=$recom->crown_id; // $user->warea_id=$recom->warea_id; // } // if($recom->level<$input['level']){//邀请人等级 < 代理等级 // if($recom->agent_id=='3'){ // $data['agent_id']=$recom->agent_id; // $user->agent_id=$recom->agent_id; // $user->crown_id=$recom->crown_id; // $user->warea_id=$recom->warea_id; // }else{ // $agent=User::find($recom->agent_id);//邀请人上级代理信息 // $data['agent_id']=$agent->agent_id; // $user->agent_id=$agent->agent_id; // $user->crown_id=$recom->crown_id; // $user->warea_id=$recom->warea_id; // } // } // } // $data['recom_audit']=$input['status']; // $data['recom_audit_desc']=$input['remark']?$input['remark']:''; // $data['recom_updated_at']=date("Y-m-d H:i:s"); // DB::beginTransaction(); // try{ // if($input['status']=='1'){//通过 // $user->cert_status='2'; //邀请人通过 // $user->level=$input['level']; // $user->save(); // }elseif($input['status']=='2'){//驳回 // $user->cert_status='4'; //邀请人驳回 // $user->save(); // } // UserCert::where('user_id',$input['id'])->update($data); // DB::commit(); // return $this->success([]); // }catch(Exception $e) { // DB::rollBack(); // return $this->error(); // } // }else{ // DB::beginTransaction(); // try{ // $data['agent_audit']=$input['status']; // $data['agent_audit_desc']=$input['remark']?$input['remark']:''; // $data['agent_updated_at']=date("Y-m-d H:i:s"); // $userCert=UserCert::where('user_id',$input['id'])->where('recom_audit','1')->first(); // if($userCert && $input['status']=='1'){ // $user->cert_status='3'; // $user->auth_code=$this->getAuthCode(); // $user->auth_startime=date("Y-m-01 00:00:00"); // $user->auth_endtime=date("Y-m-01 00:00:00",strtotime("+1 years")); // $user->save(); // }elseif($userCert && $input['status']=='2'){ // $user->cert_status='5'; // $user->save(); // } // $userCert->update($data); // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status); // DB::commit(); // return $this->success([]); // }catch(Exception $e) { // DB::rollBack(); // return $this->error(); // } // } //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab } /*后台批量审核*/ public function certUserStatus_all(Request $request) { $input = $request->all(); foreach ($input['list'] as $k => $v) { $user = User::find($v['id']); $usercert = UserCert::where('user_id', $v['id'])->first(); if (empty($usercert)) {//判断user_cert表信息是否存在,不存在则创建 $userC = new UserCert; $d['user_id'] = $v['id']; $d['recom_id'] = $user->recom_id; $userC->create($d); } $recom = User::find($user->recom_id);//邀请人信息 if ($v['type'] == 1) { if ($v['level'] == '3') {//皇冠 $data['agent_id'] = '1'; $user->agent_id = '1'; $user->crown_id = ''; $user->warea_id = ''; } else { if ($recom->level > $v['level']) {//邀请人等级 > 代理等级 $data['agent_id'] = $recom->id; $user->agent_id = $recom->id; if ($recom->level == '3') { $user->crown_id = $recom->id; } else { $user->crown_id = $recom->crown_id; } $user->warea_id = $recom->warea_id; } if ($recom->level == $v['level']) {//邀请人等级 = 代理等级 $data['agent_id'] = $recom->agent_id; $user->agent_id = $recom->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; } if ($recom->level < $v['level']) {//邀请人等级 < 代理等级 if ($recom->agent_id == '3') { $data['agent_id'] = $recom->agent_id; $user->agent_id = $recom->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; } else { $agent = User::find($recom->agent_id);//邀请人上级代理信息 $data['agent_id'] = $agent->agent_id; $user->agent_id = $agent->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; } } } $data['recom_audit'] = $v['status']; $data['recom_audit_desc'] = $v['remark'] ? $v['remark'] : ''; $data['recom_updated_at'] = date("Y-m-d H:i:s"); DB::beginTransaction(); try { if ($v['status'] == '1') {//通过 $user->cert_status = '2'; //邀请人通过 $user->level = $v['level']; $user->save(); //<<<<<<< HEAD $remark = '邀请人批量审核通过'; } elseif ($v['status'] == '2') {//驳回 $user->cert_status = '4'; //邀请人驳回 $user->save(); $remark = '邀请人批量审核驳回'; } UserCert::where('user_id', $v['id'])->update($data); $this->addAgentOperationLog('8', $user->id, $remark); //======= // }elseif($v['status']=='2'){//驳回 // $user->cert_status='4'; //邀请人驳回 // $user->save(); // } // UserCert::where('user_id',$v['id'])->update($data); //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab DB::commit(); // return $this->success([]); } catch (Exception $e) { DB::rollBack(); // return $this->error(); } } else { DB::beginTransaction(); try { $data['agent_audit'] = $v['status']; $data['agent_audit_desc'] = $v['remark'] ? $v['remark'] : ''; $data['agent_updated_at'] = date("Y-m-d H:i:s"); $userCert = UserCert::where('user_id', $v['id'])->where('recom_audit', '1')->first(); if ($userCert && $v['status'] == '1') { $user->cert_status = '3'; $user->auth_code = $this->getAuthCode(); $user->auth_startime = date("Y-m-01 00:00:00"); $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years")); $user->save(); $remark = '上级批量审核通过'; } elseif ($userCert && $v['status'] == '2') { $user->cert_status = '5'; $user->save(); $remark = '上级批量审核驳回'; } $this->addAgentOperationLog('8', $user->id, $remark); $userCert->update($data); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status); DB::commit(); // return $this->success([]); } catch (Exception $e) { DB::rollBack(); // return $this->error(); } } } return $this->success([]); } //邀请人重新审核 public function againCertRecomStatus(Request $request) { $input = $request->all(); $user = User::find($input['id']); $userCert = UserCert::where('user_id', $input['id'])->first(); if ($input['type'] == '1') {//通过 $user->level = $input['level']; $recom = User::find($user->recom_id); if ($input['level'] == '3') {//皇冠 $user->agent_id = '1'; $user->crown_id = ''; $user->warea_id = ''; $userCert->agent_id = '1'; } else { if ($recom->level > $input['level']) {//邀请人等级 > 代理等级 $user->agent_id = $recom->id; if ($recom->level == '3') { $user->crown_id = $recom->id; } else { $user->crown_id = $recom->crown_id; } $user->warea_id = $recom->warea_id; $userCert->agent_id = $recom->id; } if ($recom->level == $input['level']) {//邀请人等级 = 代理等级 $user->agent_id = $recom->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; $userCert->agent_id = $recom->agent_id; } if ($recom->level < $input['level']) {//邀请人等级 < 代理等级 if ($recom->agent_id == '3') { $user->agent_id = $recom->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; $userCert->agent_id = $recom->agent_id; } else { $agent = User::find($recom->agent_id);//邀请人上级代理信息 $user->agent_id = $agent->agent_id; $user->crown_id = $recom->crown_id; $user->warea_id = $recom->warea_id; $userCert->agent_id = $agent->agent_id; } } } $userCert->recom_id = $user->recom_id; $userCert->recom_audit = '1'; $userCert->recom_audit_desc = ''; $userCert->agent_audit = '0'; $userCert->agent_audit_desc = ''; $userCert->recom_updated_at = date("Y-m-d H:i:s"); $user->cert_status = '2'; $remark = '邀请人重新审核通过'; } elseif ($input['type'] == '2') {//驳回 $userCert->recom_id = $user->recom_id; $userCert->agent_id = $user->agent_id; $userCert->recom_audit = '2'; $userCert->recom_audit_desc = $input['desc']; $userCert->agent_audit = '0'; $userCert->agent_audit_desc = ''; $userCert->recom_updated_at = date("Y-m-d H:i:s"); $user->cert_status = '4'; $remark = '邀请人重新审核驳回'; } DB::beginTransaction(); try { $this->addAgentOperationLog('8', $user->id, $remark); $userCert->save(); $user->save(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')重新审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status); DB::commit(); return $this->success([]); } catch (Exception $e) { DB::rollBack(); return $this->error(); } } //上级重新审核 //======= // } // $row=$userCert->save(); // $rows=$user->save(); // if($row && $rows){ // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')重新审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status); // DB::commit(); // return $this->success([]); // }else{ // DB::rollBack(); // return $this->error(); // } // } // //上级重新审核 //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab public function againCertAgentStatus(Request $request) { $input = $request->all(); $user = User::find($input['id']); $userCert = UserCert::where('user_id', $input['id'])->first(); if ($input['type'] == '1') {//通过 $userCert->agent_audit = '1'; $userCert->agent_audit_desc = ''; $userCert->agent_updated_at = date("Y-m-d H:i:s"); $user->cert_status = '3'; $user->auth_code = $this->getAuthCode(); $user->auth_startime = date("Y-m-01 00:00:00"); $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years")); //<<<<<<< HEAD $remark = '上级重新审核通过'; //======= //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab } elseif ($input['type'] == '2') {//驳回 $userCert->agent_audit = '2'; $userCert->agent_audit_desc = $input['desc']; $userCert->agent_updated_at = date("Y-m-d H:i:s"); $user->cert_status = '5'; //<<<<<<< HEAD $remark = '上级重新审核驳回'; } DB::beginTransaction(); try { $this->addAgentOperationLog('8', $user->id, $remark); $userCert->save(); $user->save(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')重新审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status); DB::commit(); return $this->success([]); } catch (Exception $e) { //======= // } // $row=$userCert->save(); // $rows=$user->save(); // if($row && $rows){ // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')重新审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status); // DB::commit(); // return $this->success([]); // }else{ //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab DB::rollBack(); return $this->error(); } } /*代理库存*/ public function getAgentGoodsNum(Request $request) { $input = $request->all(); $goodstotal = DB::table('goods_sku_agent_total as goodsNum')->where('goodsNum.user_id', $input['id']) ->select('goods.name', 'goods.img_url', 'goods.tjprice', 'goods.djprice', 'goods.hgprice', DB::raw('SUM(goodsNum.total) as account')) ->leftJoin('users', 'users.id', '=', 'goodsNum.user_id') ->leftJoin('goods', 'goods.id', '=', 'goodsNum.goods_id') ->groupBy('goodsNum.goods_id') ->get(); if ($goodstotal) { return $this->success($goodstotal); } return $this->error(); } /* 用户禁用/启用 */ public function shelvedUser(Request $request) { $user = User::find($request->post('id')); $status = ($user->status == 0) ? '启用' : '禁用'; $user->status = ($user->status == 0) ? '1' : '0'; //<<<<<<< HEAD DB::beginTransaction(); $row = $user->save(); if ($user->status == 0) { $remark = '启用'; } else { $remark = '禁用'; } $res = $this->addAgentOperationLog('10', $user->id, $remark); event(new ShelvedAgent($user)); if ($row && $res) { DB::commit(); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')' . $status . '代理:' . $user->nickname . '(id=' . $user->id . ')成功'); return $this->success([]); } DB::rollBack(); //======= // $row=$user->save(); // if($row){ // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')'.$status.'代理:'.$user->nickname.'(id='.$user->id.')成功'); // return $this->success([]); // } //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab return $this->error(); } //删除用户 public function destoryUser(Request $request) { $input = $request->all(); $img=$request->input('img',null); $user = User::withTrashed()->where('id',$input['id'])->first(); if ($user->deleted_at){ return $this->success([],'已被删除'); } if ($user->level==3){ return $this->error('400111', '不能直接删除代理公司!'); } $recom = User::find($user->recom_id);//代理邀请人信息 if (!$recom) { return $this->error('400111', '该代理邀请人信息有误,不能删除'); } //获取代理邀请的人 $recomed=User::where('recom_id',$input['id'])->pluck('id'); $agented=User::where('agent_id',$input['id'])->pluck('id'); //获取代理下级信息 DB::beginTransaction(); $userInfo=User::where('id',$input['id'])->first(); // event(new DeleteAgent($userInfo)); try { if ($user->level == '3') { if ($recom->level == '3') {//邀请人等级信息 User::where('agent_id', $input['id'])->update(['agent_id' => $recom->id]); User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]); User::where('crown_id', $input['id'])->update(['crown_id' => $recom->id, 'warea_id' => $recom->warea_id]); } elseif ($recom->level == '2') { User::where('agent_id', $input['id'])->where('level', 2)->update(['agent_id' => $recom->agent_id]); User::where('agent_id', $input['id'])->where('level', 1)->update(['agent_id' => $recom->id]); User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]); $recom_agent = User::where('id', $recom->agent_id)->first(); User::where('crown_id', $input['id'])->update(['crown_id' => $recom_agent->id, 'warea_id' => $recom_agent->warea_id]); } elseif ($recom->level == '1') { $upRecom = User::find($recom->agent_id);//代理邀请人上级信息 if (!$upRecom) { return $this->error('400112', '该代理邀请人上级信息有误,不能删除'); } User::where('agent_id', $input['id'])->where('level', 1)->update(['agent_id' => $upRecom->id]); User::where('agent_id', $input['id'])->where('level', 2)->update(['agent_id' => $upRecom->agent_id]); User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]); $recom_agent = User::where('id', $upRecom->agent_id)->first(); User::where('crown_id', $input['id'])->update(['crown_id' => $upRecom->agent_id, 'warea_id' => $recom_agent->warea_id]); } } elseif ($user->level == '2') { if ($recom->level == '3' || $recom->level == '2') { User::where('agent_id', $input['id'])->update(['agent_id' => $recom->id]); } elseif ($recom->level == '1') { User::where('agent_id', $input['id'])->update(['agent_id' => $recom->agent_id]); } User::where('recom_id', $input['id'])->update(['recom_id' => $user->recom_id]); } elseif ($user->level == '1') { User::where('recom_id', $input['id'])->update(['recom_id' => $user->recom_id]); } $user->delete(); $remark = $input['remark']; $after = ['id' => $user->id, 'nickname' => $user->nickname, 'mobile' => $user->mobile, 'level' => $user->level, 'recom_id' => $user->recom_id, 'agent_id' => $user->agent_id]; $log = '删除用户成功,用户信息:' . json_encode($after, JSON_UNESCAPED_UNICODE).',用户邀请的人ID:'.json_encode($recomed).',用户下级ID:'.json_encode($agented); $this->addAgentOperationLog('4', $user->id, $remark, $log,$img); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')删除代理:' . $user->nickname . '(id=' . $user->id . ')成功'); DB::commit(); return $this->success([]); } catch (Exception $e) { DB::rollBack(); return $this->error(); } } public function wdstore(){ $user_ids=WdStore::pluck('user_id'); return User::whereNotIn('id',$user_ids)->pluck('id')->toArray(); $WDUserIds=User::pluck('id')->toArray();//获取所有正常代理id $user_ids = WdStore::whereNotIn('user_id',$WDUserIds)->pluck('user_id');//获取所有店铺代理id return User::onlyTrashed()->whereIn('id',$user_ids)->orderByDesc('deleted_at')->pluck('deleted_at');// $no_delete=[15965837535,18095856054,15122171335,15003036225,15039343930,13932338754, 15845445174, 15522559604, 15039343930, 13104252035, 15122171335, 15176105221, 15003036225, 15965837535, 18095856054, 13932337622]; //获取所有要删除代理 User::whereNotIn('id',$WDUserIds)->whereNotIn('mobile',$no_delete)->where('created_at','<','2021-06-01')->whereIn('level',[1,2])->orderByDesc('created_at')->delete(); return 1; $noStoreAgents=User::whereNotIn('id',$WDUserIds)->whereNotIn('mobile',$no_delete)->where('created_at','<','2021-06-01')->whereIn('cert_status',[3,6])->where('service_status',0)->orderByDesc('created_at')->get();//->limit(1000) return count($noStoreAgents); return '111'; } public function uploadImg(Request $request){ if(empty($request->has('file'))){ return $this->error('450001','请选择图片!'); } $file= $request->file('file'); //变更分享人share_img 删除客户delete_img $path_url='user/'.$request->input('type','delete_img'); $upload= new UploadFilesHandler(); $result= $upload->save($file, $path_url, null, 'image'); if($result){ return $this->success($result['path']); } return $this->error(); } public function destroyUploadAudio(Request $request){ if(empty($request->has('audio'))){ return $this->error('450001','请上传音频文件!'); } $file= $request->file('audio'); $path_url='user/delete_audio'; $upload= new UploadFilesHandler(); $result= $upload->save($file, $path_url, null, 'audio'); if($result){ return $this->success($result['path']); } return $this->error(); } // 重置/修改密码 public function editAgentPassword(Request $request) { $input = $request->all(); $user = User::find($input['id']); //<<<<<<< HEAD $remark = ''; if ($input['type'] == '1') {//重置密码 $remark = '重置密码'; $user->password = MD5($user->mobile); } elseif ($input['type'] == '2') {//修改密码 $remark = '修改密码'; $user->password = MD5($input['password']); } $this->addAgentOperationLog('9', $user->id, $remark); $row = $user->save(); if ($row) { //======= // if($input['type']=='1'){//重置密码 // $user->password=MD5($user->mobile); // }elseif($input['type']=='2'){//修改密码 // $user->password=MD5($input['password']); // } // $row=$user->save(); // if($row){ //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')充值代理:' . $user->nickname . '(id=' . $user->id . ')密码成功'); return $this->success([]); } return $this->error(); } //导出代理信息 public function exportUserLists(Request $request) { ini_set('memory_limit', '512M'); $input = $request->all(); $search_name = $input['search_name']; $recom_name = $input['recom_name']; $agent_name = $input['agent_name']; if ($input['level'] == '4') { $user = UserCopy::onlyTrashed(); $where = []; } elseif ($input['level'] == 'all') { $user = UserCopy::withTrashed(); $where = []; } else { $user = new UserCopy(); $where = []; $where['level'] = $input['level']; } $list = $user ->where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('cre_num', 'like', '%' . $search_name . '%') ->orWhere('realname', 'like', '%' . $search_name . '%'); }) ->whereIn('cert_status', [3, 6]) ->where($where) ->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile,level']) ->whereHas('recom', function ($query1) use ($recom_name) { $query1->select('id', 'nickname', 'mobile') ->where(function ($recom) use ($recom_name) { $recom->where('nickname', 'like', '%' . $recom_name . '%') ->orWhere('mobile', 'like', '%' . $recom_name . '%') ->orWhere('cre_num', 'like', '%' . $recom_name . '%') ->orWhere('realname', 'like', '%' . $recom_name . '%'); }); }) ->whereHas('agent', function ($query2) use ($agent_name) { $query2->select('id', 'nickname', 'mobile') ->where(function ($agent) use ($agent_name) { $agent->where('nickname', 'like', '%' . $agent_name . '%') ->orWhere('mobile', 'like', '%' . $agent_name . '%') ->orWhere('cre_num', 'like', '%' . $agent_name . '%') ->orWhere('realname', 'like', '%' . $agent_name . '%'); }); }) ->orderBy('id', 'desc') ->get(); if (empty($list)) { return $this->error('400002', '没有获取到数据'); } foreach ($list as $key => $val) { if (!empty($val->deleted_at)) { $list[$key]['delete'] = 1;//已删除 } else { $list[$key]['delete'] = 0;//未删除 } $list[$key]['cert_status'] = 6; if ($val->deleted_at){ $list[$key]->crown=''; }else{ if ($val->level!=3 && $val->level!=0){ if ($val->agent->level==3 || $val->agent->level==0){ $list[$key]->crown=$val->agent; }else{ $res=$this->get_crown($val->agent->id); $list[$key]->crown=$res; } }else{ $list[$key]->crown=''; } } // $list[$key]['account']=$user->getAgentSalesResult($val->id); } // $search_name=$search_name?$search_name: // Redis::setex('User_'.$search_name.$recom_name.$agent_name.$level); return $this->success($list); } //获取代理列表信息 public function getUserListass(Request $request) { $input = $request->all(); $page_size = $input['page_size']; $page_index = $input['page_index']; $num = ($page_index - 1) * $page_size; $search_name = $input['search_name']; $recom_name = $request->has('recom_name') ? $input['recom_name'] : ''; $agent_name = $request->has('agent_name') ? $input['agent_name'] : ''; $where = []; if ($input['level'] == '4') { $user = User::onlyTrashed()->where($where); } elseif ($input['level'] == 'all') { $user = User::withTrashed()->where($where); } else { $user = User::where($where); $where['level'] = $input['level']; } if ($search_name) { $user->where(function ($query) use ($search_name) { $query->where('nickname', 'like', '%' . $search_name . '%') ->orWhere('mobile', 'like', '%' . $search_name . '%') ->orWhere('cre_num', 'like', '%' . $search_name . '%') ->orWhere('realname', 'like', '%' . $search_name . '%'); }); } if ($agent_name) { $agent_id = User::where(function ($agent) use ($agent_name) { $agent->where('nickname', 'like', '%' . $agent_name . '%') ->orWhere('mobile', 'like', '%' . $agent_name . '%') ->orWhere('cre_num', 'like', '%' . $agent_name . '%') ->orWhere('realname', 'like', '%' . $agent_name . '%'); })->pluck('id'); $user->whereIn('agent_id', $agent_id); } if ($recom_name) { $recom_id = User::where(function ($recom) use ($recom_name) { $recom->where('nickname', 'like', '%' . $recom_name . '%') ->orWhere('mobile', 'like', '%' . $recom_name . '%') ->orWhere('cre_num', 'like', '%' . $recom_name . '%') ->orWhere('realname', 'like', '%' . $recom_name . '%'); })->pluck('id'); $user->whereIn('recom_id', $recom_id); } $count = $user->whereIn('cert_status', [3, 6])->where($where)->count(); if ($count == 0) { $this->error('400001', '没有数据'); } $list = $user->with(['recom', 'agent'])->whereIn('cert_status', [3, 6])->orderBy('id', 'desc')->skip($num)->take($page_size)->get(); foreach ($list as $key => $val) { if (!empty($val->deleted_at)) { $list[$key]['delete'] = 1;//已删除 } else { $list[$key]['delete'] = 0;//未删除 } $list[$key]['cert_status'] = 6; // $list[$key]['account']=$user->getAgentSalesResult($val->id); } return $this->success_list($list, 'success', $count); } //<<<<<<< HEAD //======= // public function restoreAgent(Request $request){ // $input=$request->all(); // $student = Student::find($input['id']); // $row=$student->restore(); // if($row){ // return $this->success($list,'删除恢复成功'); // } // $this->error(); // } // //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab /**修改代理信息**/ public function update_user(Request $request) { $rule = [ 'id' => 'required', 'nickname' => 'required', 'realname' => 'required', 'mobile' => 'required', ]; $message = [ 'id.required' => '必填项', 'nickname.required' => '必填项', 'realname.required' => '必填项', 'mobile.required' => '必填项', ]; $vali = Validator::make($request->all(), $rule, $message); if ($vali->fails()) { return $this->error('400013', $vali->errors()->first()); } if(strlen($request->cre_num) != 18){ return $this->error(40013,'身份证号码有误'); }; // $year = substr($request->cre_num, 6, 4); // $age = date('Y') - $year; // if($age > 65){ // return $this->error(40013,'很抱歉,您的年龄已超过65岁,无法注册。'); // } if (User::where('cre_num',$request->input('cre_num'))->where('id','<>',$request->input('id'))->count()){ return $this->error(40013, '身份证号已存在'); } DB::beginTransaction(); try { $user = User::find($request->id); $before_mobile=$user->mobile; if (!$user) { return $this->error(40013, '该用户不存在,请重新查询'); } $before = ['id' => $user->id, 'nickname' => $user->nickname, 'realname' => $user->realname, 'mobile' => $user->mobile, 'cre_num' => $user->cre_num]; if ($request->mobile != $user->mobile) { $users = User::where('mobile', $request->mobile)->count(); if ($users) { return $this->error(40013, '该手机号已被使用'); } $user->mobile = $request->mobile; $user->auth_img = null; } if ($user->nickname != $request->nickname) { $user->auth_img = null; } $user->nickname = $request->nickname; $user->realname = $request->realname; $user->cre_num = $request->cre_num; $user->remark = $request->remark; if ($request->has('wechat_name')){ $user->remark_name = $request->wechat_name; $user->name = $request->wechat_name; } if (!$user->save()) { throw new \Exception('1'); } $after = ['id' => $user->id, 'nickname' => $user->nickname, 'realname' => $user->realname, 'mobile' => $user->mobile, 'cre_num' => $user->cre_num, 'remark'=> $user->remark]; $log = '修改代理信息成功,修改前代理信息:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',修改后代理信息:' . json_encode($after, JSON_UNESCAPED_UNICODE); $this->addAgentOperationLog('6', $user->id, '', $log); $user->before=$before_mobile; // event(new ChangeUserInfo($user)); DB::commit(); return $this->success([], '更新成功'); } catch (\Exception $exception) { Log::error('{-----修改用户信息出错-----错误信息为--}' . $exception); DB::rollback(); return $this->error(40013, '修改用户信息出错'); } } //<<<<<<< HEAD public function restoreAgent(Request $request) { $input = $request->all(); $student = Student::find($input['id']); $row = $student->restore(); if ($row) { // return $this->success($list, '删除恢复成功'); } $this->error(); } //添加代理操作日志 public function addAgentOperationLog($type, $user_id, $remark = null, $log = null,$img=null,$apply_id=null) { return AgentOperationLog::create([ 'type' => $type, 'admin_name' => Auth::user()->name, 'admin_id' => Auth::user()->id, 'user_id' => $user_id, 'remark' => $remark, 'img'=>$img, 'log' => $log, 'apply_id' => $apply_id, ]); } //======= public function repair_auth(Request $request) { $rule = [ 'id' => 'required', ]; $message = [ 'id.required' => '必填项', ]; $vali = Validator::make($request->all(), $rule, $message); if ($vali->fails()) { return $this->error('400013', $vali->errors()->first()); } DB::beginTransaction(); try { $user = User::find($request->id); if (!$user) { return $this->error(40013, '该用户不存在,请重新查询'); } $user->auth_img = null; if (!$user->save()) { throw new \Exception('1'); } DB::commit(); return $this->success([], '修复成功'); } catch (\Exception $exception) { Log::error('{-----修改授权证书出错-----错误信息为--}' . $exception); DB::rollback(); return $this->error(40013, '修改授权证书出错'); } //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab } //恢复误删除人员信息 public function restoreUserInfo(Request $request){ $input=$request->all(); $mobile=$input['mobile']; $ids=$input['ids']; $rules = [ 'mobile' => [ 'required', 'regex:/^1[3456789][0-9]{9}$/' ], ]; $messages = [ 'mobile.required' => '手机号不能为空.', 'mobile.regex' => '手机号格式有误.', ]; $uuu = new User(); $validator = $uuu->validator($input, $rules, $messages); if ($validator->fails()) { return $this->error('400013', $validator->errors()->first()); } DB::beginTransaction(); try { $result1=User::where('mobile',$input['mobile'])->first(); if($result1){ return $this->error('450001','该手机号用户未被删除,核对后再操作'); } $result=User::onlyTrashed()->where('mobile',$input['mobile'])->first(); if(!$result){ return $this->error('450001','手机号信息有误,核对后再操作'); } User::withTrashed()->where('mobile',$input['mobile'])->restore(); $re_id=$result->recom_id; $ag_id=$result->agent_id; $recom_ids=$this->RecomInfo($result->recom_id); $result->recom_id=$recom_ids; if ($result->level==3){ $result->agent_id=1; }else{ $result->agent_id=$this->AgentInfo($recom_ids,$result->level); } $result->save(); $this->addAgentOperationLog('41', $result->id, '撤销删除状态', '撤销删除状态'); $this->addAgentOperationLog('6', $result->id, '代理恢复后,更新了邀请人和上级的信息', '原邀请人id为:'.$re_id.'、上级id为:'.$ag_id.'修改后的邀请人ID为:'.$recom_ids.'、上级ID为:'.$result->agent_id); Log::info('用户'.$input['mobile'].'被恢复'); foreach(json_decode($ids,true) as $valvv){ Log::error($valvv); $user = User::find($valvv);//当前用户 if (empty($user)){ continue; } if($user->cert_status!=3&&$user->cert_status!=6){ continue; } if ($user->recom_id) { $recom_id = $user->recom_id; } else { $recom_id = '暂无'; } if ($user->agent_id) { $up_id = $user->agent_id; } else { $up_id = '暂无'; } // $agentCount = User::where(function ($query) use ($input) { // $query->where('recom_id', '=', $input['id']) // ->orWhere('agent_id', '=', $input['id']); // })->count(); //代理邀请人员后,或者成为上级后不能变更推荐人 // if($agentCount>0){ // return $this->error('400112','当前用户邀请人信息不能修改'); // } $recomUser = User::where("mobile", $input['mobile'])->first();//新邀请人信息 if (empty($recomUser)) { return $this->error('400115', '邀请人信息不存在'); } if ($user->recom_id == $recomUser->id) { return $this->error('400111', '要更改的邀请人与当前邀请人相同'); } if ($user->id == $recomUser->recom_id) { return $this->error('400116', '要更改的邀请人的邀请人为自己'); } if ($user->id == $recomUser->id) { return $this->error('400116', '要更改的邀请人不能为自己'); } $uuu = new User(); $rechecking = $uuu->changeRecomSystem($valvv, $input['mobile']); if ($rechecking == '222') { return $this->error('400116', '要更改的邀请人为当前代理邀请人系统体系内部成员'); } if ($user->level == '3') { $user->recom_id = $recomUser->id; $user->agent_id = '1'; $user->crown_id = ''; if ($user->warea_id != $recomUser->warea_id) { $user->warea_id = $recomUser->warea_id; $one_agent = User::where('agent_id', $user->id)->pluck('id'); if (count($one_agent) > 0) { User::whereIn('id', $one_agent)->update(['warea_id' => $recomUser->warea_id]); foreach ($one_agent as $key => $val) { $two_agent = User::where('agent_id', $val)->pluck('id'); if (count($two_agent) > 0) { User::whereIn('id', $two_agent)->update(['warea_id' => $recomUser->warea_id]); } } } } } else { if ($recomUser->level == '3') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->id; $user->crown_id = $recomUser->id; $user->warea_id = $recomUser->warea_id; if ($user->level == '2') { $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->id); } elseif ($user->level == '1') { $uuu->changeAgentLevelInfoThree($user->id, $recomUser->id, $recomUser->id); } $uuu->changeAgentRecomCrown($user->id, $recomUser->id, $recomUser->warea_id); } elseif ($recomUser->level == '2') { if ($user->level == '2') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->agent_id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->agent_id); } elseif ($user->level == '1') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoThree($user->id, $recomUser->agent_id, $recomUser->id); } $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id); } elseif ($recomUser->level == '1') { $recomAgent = User::find($recomUser->agent_id); if ($user->level == '2') { $user->recom_id = $recomUser->id; $user->agent_id = $recomAgent->agent_id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->agent_id); } elseif ($user->level == '1') { $user->recom_id = $recomUser->id; $user->agent_id = $recomUser->agent_id; $user->crown_id = $recomUser->crown_id; $user->warea_id = $recomUser->warea_id; $uuu->changeAgentLevelInfoThree($user->id, $recomAgent->agent_id, $recomUser->agent_id); } $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id); } } $row = $user->save(); $remark = '恢复'; $before = User::where('id', $recom_id)->select('id', 'nickname', 'mobile')->first(); $after = ['id' => $recomUser->id, 'nickname' => $recomUser->nickname, 'mobile' => $recomUser->mobile]; $log = '变更前邀请人:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',变更后邀请人:' . json_encode($after, JSON_UNESCAPED_UNICODE); $this->addAgentOperationLog('3', $user->id, $remark, $log); event(new ChangeRecom($user)); Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')邀请人成功,原邀请人id=' . $recom_id . ',原上级id=' . $up_id . ',新邀请人:' . $recomUser->nickname . '(id=' . $recomUser->id . ')'); } DB::commit(); return $this->success([]); }catch(Exception $e){ DB::rollBack(); return $this->error($e->getMessage()); } } /**查看邀请人是否删除**/ public function RecomInfo($id){ $user=User::withTrashed()->where('id',$id)->first(); $recom_id=$id; if ($user->deleted_at){ $recom_id=$this->RecomInfo($user->recom_id); } return $recom_id; } /**查看上级是否删除**/ public function AgentInfo($id,$level){ $user=User::withTrashed()->where('id',$id)->first(); $agent_id=$user->id; if ($user->level<=$level){ $agent_id=$this->AgentInfo($user->agent_id,$level); } return $agent_id; } //获取代理升级后团队信息 public function getUpTeam($uid){ $user=User::withTrashed()->where('id',$uid)->first(); $arr=[]; $num=0; if($user->level==2){ $this->getAgentLevelInfoTwo($uid,$arr,$num); }elseif($user->level==1){ $this->getAgentLevelInfoOne($uid,$arr,$num); } $data['num']=$num; $data['list']=$arr; return $data; } //顶级升皇冠 public function getAgentLevelInfoTwo($uid,&$arr,&$num){ $list=User::where('recom_id', $uid)->select('id','nickname','realname','mobile','level','recom_id')->get();//获取所有邀请人 if(count($list)>0){ foreach($list as $key=>$val){ if($val->level=='2' || $val->level=='1'){ $num+=1; // array_push($arr,$val); $this->getAgentLevelInfoTwo($val->id,$arr,$num); } } } } //特级升顶级 public function getAgentLevelInfoOne($uid,&$arr,&$num){ $list=User::where('recom_id', $uid)->select('id','nickname','realname','mobile','level','recom_id')->get();//获取所有邀请人 if(count($list)>0){ foreach($list as $key=>$val){ if($val->level=='1'){ $num+=1; // array_push($arr,$val); $this->getAgentLevelInfoOne($val->id,$arr,$num); } } } } public function get_del_cause(){ $re=CauseDel::where('type',0)->select('id','cause')->get(); return $this->success($re); } public function add_del_cause(Request $request){ $cause=new CauseDel(); $cause->type=0; $cause->cause=$request->cause; $cause->save(); return $this->success([]); } public function destory_del_cause(Request $request){ CauseDel::where('id',$request->id)->delete(); return $this->success([]); } public function get_jj_cause(){ $re=CauseDel::where('type',1)->select('id','cause')->get(); return $this->success($re); } public function add_jj_cause(Request $request){ $cause=new CauseDel(); $cause->type=1; $cause->cause=$request->cause; $cause->save(); return $this->success([]); } public function destory_jj_cause(Request $request){ CauseDel::where('id',$request->id)->delete(); return $this->success([]); } /* * 代理清除 * **/ public function UserRemove(Request $request){ $mobile=$request->input('mobile'); $re=User::where('mobile',$mobile)->first(); if (!$re){ return $this->error(500214,'根据手机号查不到代理!'); } if ($re->cert_status==3 || $re->cert_status==6){ return $this->error(5002141,'该代理已经通过审核,不能删除'); } if ($re->cert_status!=0){ return $this->error(5002141,'该代理已经进入审核阶段,不能删除'); } DB::table('users')->where('id',$re->id)->delete(); return $this->success([]); } /**查找符合条件的需要审核的代理**/ public function search_peoples(Request $request){ $admin_user=Auth::user(); $status=false; if ($admin_user->role_id==22||$admin_user->role_id==32 || $admin_user->role_id==24){ $status=true; } $warea_id=Warea::where('admin_id',$admin_user->id)->value('id'); $input=$request->all(); $recom_info=$request->input('recom_info',null); $agent_info=$request->input('agent_info',null); $page_index=$input['page_index']; $page_size=$input['page_size']; $num=($page_index-1)*$page_size; $crown_id=$request->input('crown_id',''); // if ($input['status']==1){ // $input['status']=0; // } $user=User::whereIn('cert_status',[3,6])->with(['agent','recom'])->where('service_status',0); if($input['status']!='all'){ $user->where('in_group',$input['status']); } if (!$status){ $user=$user->where('warea_id',$warea_id); } if ($recom_info){ if (is_numeric($recom_info)){ if (mb_strlen($recom_info)<5){ return $this->error(500214,'请输入至少六位的手机号'); } } $ids=User::where('mobile','like',"%$recom_info%")->orwhere('nickname','like',"%$recom_info%")->pluck('id'); $user->whereIn('recom_id',$ids); } if ($agent_info){ if (is_numeric($agent_info)){ if (mb_strlen($agent_info)<5){ return $this->error(500214,'请输入至少六位的手机号'); } } $ids=User::where('mobile','like',"%$agent_info%")->orwhere('nickname','like',"%$agent_info%")->pluck('id'); $user->whereIn('agent_id',$ids); } if ($crown_id){ $user->where('crown_id',$crown_id); } // if ($input['status']==2){ // $user->withTrashed(); // } if ($input['search_content']){ if (is_numeric($input['search_content'])){ if (mb_strlen($input['search_content'])<5){ return $this->error(500214,'请输入至少六位的手机号'); } } $search_content=$input['search_content']; $where=function ($q)use($search_content){ $q->where('mobile','like','%'.$search_content.'%') ->orwhere('nickname','like','%'.$search_content.'%') ->orwhere('realname','like','%'.$search_content.'%'); }; $user->where($where); } $user=$user->with(['get_service','crown:id,mobile,nickname'])->with(['warea']); $count=$user->count(); $result=$user->take($page_size)->skip($num)->get(); return $this->success_list($result,'',$count); } /**查看凭证**/ public function LookImg(Request $request){ $id=$request->input('id'); $re=UserCert::where('user_id',$id)->orderByDesc('created_at')->first(); if ($re && $re->five_amount_img){ return $this->success($re); }else{ return $this->success([]); } } /**获取战区的代理公司**/ public function GetWareaCrown(){ $admin_user=Auth::user(); $status=true; if ($admin_user->role_id==22||$admin_user->role_id==32 || $admin_user->role_id==24){ $status=false; } $user=User::where('level',3); if ($status){ $id=Auth::user()->id; $warea_id=Warea::where('admin_id',$id)->value('id'); $user=$user->where('warea_id',$warea_id)->select('id','nickname','remark_name')->whereNull('deleted_at')->get(); }else{ $user=$user->where('level',3)->whereNull('deleted_at')->get(); } return $this->success($user); } public function download_peoples(Request $request){ $admin_user=Auth::user(); $status=false; if ($admin_user->role_id==22||$admin_user->role_id==32 || $admin_user->role_id==24){ $status=true; } $warea_id=Warea::where('admin_id',$admin_user->id)->value('id'); $crown_id=$request->input('crown_id',''); $user=User::whereIn('cert_status',[3,6])->with(['agent','recom'])->where('service_status',0)->where('in_group',3); if (!$status){ $user->where('warea_id',$warea_id); } if ($crown_id){ $user->where('crown_id',$crown_id); } $user=$user->with(['get_service','crown:id,mobile,nickname'])->with(['warea']); $result=$user->get(); return $this->success_list($result,''); } /**政委审核**/ // public function service_audit(Request $request){ // $input=$request->all(); // $status=$input['status'];//0通过1未通过 // $user=User::where('id',$request->id)->withTrashed()->first(); // if (!$user){ // return $this->error(500214,'该代理已被删除'); // } // DB::beginTransaction(); // try{ // if ($status==1){ // $reason=new ServiceReason(); // $reason->user_id=$input['id']; // $reason->op_name=Auth::user()->nickname; // $reason->reason=$input['reason']; // if (!$reason->save()){ // throw new \Exception(1); // } // $user->service_status=2; // if ($user->openid){ // $me['openid']=$user->openid; // $me['status']=1; // $me['data']=[ // 'first' => '抱歉,您的注册申请已被政委驳回。原因'.$input['reason'], // 'keyword1' => '政委驳回', // 'keyword2' => date("Y-m-d H:i"), // 'remark' => '点击链接进入系统,查看详情', // ]; // event(new AgentAuditServiceEvent($me)); // } // }elseif ($status==0){ // $user->service_status=0; // $user->service_end_time=Carbon::now(); // if ($user->openid){ // $me['openid']=$user->openid; // $me['status']=0; // $me['data']=[ // 'first' => '恭喜您,您的注册申请已通过政委审核。', // 'keyword1' => '政委审核成功', // 'keyword2' => date("Y-m-d H:i"), // 'remark' => '点击链接进入系统,查看详情', // ]; // event(new AgentAuditServiceEvent($me)); // } // } // if (!$user->save()){ // throw new \Exception(1); // } // DB::commit(); // return $this->success([]); // }catch (\Exception $exception){ // DB::rollBack(); // return $this->error(52201,'',''); // } // } /**政委审核**/ public function service_audit(Request $request){ $input=$request->all(); $status=$input['status'];//0通过1未通过 $user=User::where('id',$request->id)->first(); if (!$user){ return $this->error(500214,'该代理已被删除'); } if ($status==1){ if($user->level>1){ return $this->error(500214, '代理已升级不能驳回'); } if($user->in_group==1){ return $this->error(500214, '代理已进群不能驳回'); } DB::beginTransaction(); try{ User::where('id',$request->id)->update([ 'cert_status'=>1, 'service_status'=>1, 'agent_id'=>null, 'crown_id'=>null, 'warea_id'=>null ]); UserCert::where('user_id',$request->id)->update([ 'recom_audit'=>0, 'recom_audit_desc'=>null, 'recom_updated_at'=>null, 'agent_id'=>null, 'agent_audit'=>0, 'agent_audit_desc'=>null, 'agent_updated_at'=>null, 'company_audit'=>0, 'company_audit_desc'=>null, 'company_updated_at'=>null, 'notice_in_group_at'=>null, 'notice_remark'=>Carbon::now()->toDateTimeString().'-被政委('.Auth::user()->name.')驳回,原因:'.$request->reason, ]); DB::commit(); Log::info($user->nickname.'被政委('.Auth::user()->name.')驳回成功'); if ($user->openid){ $me['openid']=$user->openid; $me['status']=1; $me['data']=[ 'first' => '抱歉,您的注册申请被政委审核驳回。', 'keyword1' => '政委驳回', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditServiceEvent($me)); } return $this->success([]); }catch(\Exception $e){ DB::rollBack(); Log::info($user->nickname.'未联系被政委('.Auth::user()->name.')驳回失败-'.$e->getMessage()); return $this->error(52201,'',''); } }else{ if($status==0){ $user->in_group=1; if ($user->openid) { $me['openid'] = $user->openid; $me['status'] = 0; $me['data'] = [ 'first' => '恭喜您,您的注册申请已通过政委审核。', 'keyword1' => '政委审核成功', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditServiceEvent($me)); } }elseif ($status==2){ $user->in_group=2; }elseif ($status==3){ $user->in_group=3; }else{ $user->in_group=4; } $user->service_end_time=Carbon::now(); if ($user->save()){ return $this->success([]); } } return $this->error(52201,'',''); } public function demos(){ $data=User::where('mobile',15286818088)->get(); $template_id='QDtFW3nSqMLZ_Aw52zzr6I1V1v0ElBk5o8pHdOSNwBM'; $url='https://admin.app.jiuweiyun.cn/h5/index.html#/pages/view/page2'; foreach ($data as $k=>$v){ if ($v->openid){ $time1=Carbon::yesterday(); if ($v->level==2){ $count=User::whereIn('cert_status',['3','6'])->where('agent_id',$v->id)->where('service_status',0)->where('created_at','>',$time1)->count(); }else{ $count=User::whereIn('cert_status',['3','6'])->where('service_status',0)->where('crown_id',$v->id)->where('created_at','>',$time1)->count(); } $ye_num=WdOrder::where('is_pay',1)->where('user_id',$v->id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time1)->sum('total'); $app=app('wechat.official_account'); if ($v->remark_name){ $name=$v->remark_name; }else{ $name=$v->nickname; } $mesdata=[ 'first'=>$name.'您好,昨日您的业绩如下', 'keyword1' => date('Y-m-d',Carbon::yesterday()->timestamp), 'keyword2' => '昨日你的团队新增'.$count.',微店铺销售了'.$ye_num.'套', 'remark' => '点击查看详情', ]; $app->template_message->send([ 'touser' => $v->openid, 'template_id' => $template_id, 'url' => $url.'?id='.$v->id, 'data' => $mesdata ]); } } } public function get_reason(){ $re=DB::table('reason')->where('type',0)->get(); $data=[]; foreach ($re as $k=>$v){ $data[$k]=$v->reason; } return $this->success_list($data); } public function add_reason(Request $request){ DB::table('reason')->insert(['type'=>0,'reason'=>$request->reason]); return $this->success([]); } public function UnbindWechat(Request $request){ $id=$request->input('id',0); if (!$id){ return $this->error(500214,'','参数不正确'); } $user=User::where('id',$id)->withTrashed()->first(); if (!$user){ return $this->error(500214,'','未找到对应用户'); } $user->openid=null; $user->unionid=null; $user->save(); return $this->success([]); } /**获取信息**/ public function GetUserCertInfo(Request $request){ $id=$request->input('id')??null; $crown_id=$request->input('crown_id')??null; if (!$id){ return $this->error(); } $re=User::where('id',$id)->with(['recom:id,headimgurl,nickname,mobile,level']) ->with(['agent:id,headimgurl,nickname,mobile,level']) ->select('id','recom_id','agent_id','nickname','mobile','level','headimgurl','auth_startime')->first(); $res=User::where('id',$crown_id)->select('headimgurl','remark_name')->first(); return $this->success(['users'=>$re,'crown'=>$res]); } /**新增*/ public function GetCrownTeam(Request $request){ $crown_id=$request->input('crown_id')??null; $time=$request->input('time')??Carbon::today()->toDateTimeString(); $time1=Carbon::parse($time)->addDays(-7); $time2=Carbon::parse($time)->addMonths(-1); $time3=Carbon::parse($time)->startOfYear(); $ids=User::where('agent_id',$crown_id)->pluck('id')->toArray(); $idss=User::whereIn('agent_id',$ids)->pluck('id')->toArray(); $ia_all=array_merge($ids,$idss); $count1=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time1)->count(); $count2=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time2)->count(); $count3=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time3)->count(); return $this->success(['week'=>$count1,'month'=>$count2,'year'=>$count3]); } /* * 查询相关信息 * ***/ public function GetUserStoreInfo(Request $request){ $id=$request->input('id'); $time=$request->input('time')??Carbon::today()->toDateTimeString(); $times=strtotime($time); $time1=date('Y-m-d H:i:s',$times-3600*24); $time2=Carbon::parse($time)->startOfMonth()->toDateTimeString(); $time3=Carbon::parse($time)->startOfYear()->toDateTimeString(); $user=User::where('id',$id)->select('headimgurl','remark_name','nickname','mobile','level')->first(); $ids=User::where('agent_id',$id)->pluck('id')->toArray(); $idss=User::whereIn('agent_id',$ids)->pluck('id')->toArray(); $ia_all=array_merge($ids,$idss); $store_id=WdStore::where('user_id',$id)->whereNull('deleted_at')->value('id'); $count1=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time1)->count(); $count2=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time2)->count(); $count3=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time3)->count(); $ye_num=WdOrder::where('is_pay',1)->where('store_id',$store_id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time1)->sum('total'); $ye_money=WdOrder::where('is_pay',1)->where('store_id',$store_id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time1)->sum('account'); $mon_num=WdOrder::where('is_pay',1)->where('store_id',$store_id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time2)->sum('total'); $mon_money=WdOrder::where('is_pay',1)->where('store_id',$store_id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time2)->sum('account'); $year_num=WdOrder::where('is_pay',1)->where('store_id',$store_id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time3)->sum('total'); $year_money=WdOrder::where('is_pay',1)->where('store_id',$store_id)->whereIn('apply_cancel',[0,1,3])->where('created_at','>=',$time3)->sum('account'); return $this->success(['yestoday'=>$count1,'month'=>$count2,'year'=>$count3,'yestoday_oder_num'=>$ye_num,'month_order_num'=>$mon_num,'user'=>$user,'year_order_num'=>$year_num,'ye_money'=>$ye_money,'mon_money'=>$mon_money,'year_money'=>$year_money]); } public function GetLevelUp(Request $request){ $id=$request->input('id'); $user=User::where('id',$id)->select('headimgurl','remark_name','nickname','mobile','level')->first(); if ($user->level==3){ $id_arr=User::where('agent_id',$user->id)->where('level',2)->pluck('id'); $levelUp=\DB::table('agent_operation_log')->whereIn('user_id',$id_arr)->where('type',2) ->where('created_at','>',Carbon::yesterday()->toDateTimeString())->count(); return $this->success(['level_up'=>$levelUp]); } return $this->success([]); } /**新增*/ public function GetCrownTeams(Request $request){ // $id=$request->input('id')??null; // $type=$request->input('type')??0; // $search_name=$request->input('search_name'); // // if ($type){ // $time=Carbon::yesterday(); // }else{ // $time=Carbon::now()->startOfMonth(); // } // $ids=User::where('agent_id',$id)->pluck('id')->toArray(); // $idss=User::whereIn('agent_id',$ids)->pluck('id')->toArray(); // // $ia_all=array_merge($ids,$idss); // // $count1=User::whereIn('cert_status',['3','6'])->whereIn('id',$ia_all)->where('service_status',0)->where('created_at','>',$time); // // return $this->success(['week'=>$count1,'month'=>$count2,'year'=>$count3]); } public function GetCrownInfo(){ $re=User::where('level',3)->whereNull('deleted_at')->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->orderBy('id')->get(); return $this->success($re); } public function GetNextInfo(Request $request){ $re=User::whereNull('deleted_at')->where('agent_id',$request->id)->with(['child:id,agent_id'])->where('level','<>',3)->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->get(); return $this->success($re); } public function GetLastInfo(Request $request){ $re=User::where('level',1)->whereNull('deleted_at')->where('level','<>',3)->where('agent_id',$request->id)->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->get(); return $this->success($re); } public function SearchUser(Request $request){ $search_name=$request->input('search_name'); $warea_id=$request->input('warea_id')??null; $user=User::whereNull('deleted_at'); if ($warea_id){ $user->where('warea_id',$warea_id); } $user=$user->where(function ($q)use($search_name){ $q->where('nickname','like',"%$search_name%")->orwhere('mobile','like',"%$search_name%")->orwhere('remark_name','like',"%$search_name%"); })->with(['warea'])->select('id','nickname','remark_name','mobile','level','headimgurl','warea_id')->get(); return $this->success($user); } public function GetAllWarea(Request $request){ $re=Warea::pluck('name','id'); return $this->success($re); } public function SearchTeamUser(Request $request){ $id=$request->input('id'); $user=User::find($id); if ($user->level==3){ $re=User::where('level',3)->whereNull('deleted_at')->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->orderBy('id')->get(); return $this->success($re); }else{ $agent=User::find($user->agent_id); if ($agent->level==3){ $id=$agent->id; $re=User::where('level',3)->whereNull('deleted_at')->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->orderBy('id')->get()->toArray(); $res=User::whereNull('deleted_at')->where('agent_id',$agent->id)->where('level','<>',3)->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->get(); $arr=array_column($re,'id'); $arr_id=array_search($id,$arr); $re[$arr_id]['children']=$res; return $this->success($re); }else{ /**代理公司信息*/ $users=User::find($agent->agent_id); //代理公司ID $id=$users->id; //销售经理下面所有主管 $last_re=User::where('level',1)->whereNull('deleted_at')->where('agent_id',$agent->id)->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->get()->toArray(); //所有的代理公司 $re=User::where('level',3)->whereNull('deleted_at')->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->orderBy('id')->get()->toArray(); $arr=array_column($re,'id'); $arr_id=array_search($id,$arr); //代理公司所有的直属下级 $res=User::whereNull('deleted_at')->where('agent_id',$id)->where('level','<>',3)->select('id','level','remark_name as name','nickname','mobile','headimgurl','cre_num','realname')->get()->toArray(); $arrs=array_column($res,'id'); $arrs_id=array_search($agent->id,$arrs); $res[$arrs_id]['children']=$last_re; $re[$arr_id]['children']=$res; return $this->success($re); } } } public function GetEnroll(){ $count=Enroll::where('is_pay',1)->where('is_refund','<>',1)->where('season',4)->count(); return $this->success(['count'=>$count]); } public function UpdateEnrollInfo(Request $request){ $uid=$request->input('user_id'); $re=EnrollUser::where('user_id',$uid)->first(); if (!$re){ return $this->error(); } if (!$request->input('mobile') || !$request->input('name')){ return $this->error(400121,'信息提交不全'); } $re->mobile=$request->input('mobile',''); $re->name=$request->input('name',''); $re->province=$request->input('province',''); $re->city=$request->input('city',''); $re->town=$request->input('town',''); $re->address=$request->input('address',''); $re->save(); return $this->success([]); } public function GetEnrolls(Request $request){ $search_name=$request->input('search_name'); $page_index=$request->input('page_index'); $page_size=$request->input('page_size'); $type=$request->input('type',0); $num=($page_index-1)*$page_size; if ($type==1){ $re=Enroll::where('is_pay',1)->where('season',6)->where('is_refund',1); }else{ $re=Enroll::where('is_pay',1)->where('season',6)->wherenull('is_refund'); } if($search_name){ $uid=User::where('nickname','like',"%$search_name%")->orwhere('mobile','like',"%$search_name%")->withTrashed()->pluck('id'); $re->whereIn('user_id',$uid); } $count=$re->count(); $re=$re->with(['user:mobile,level,nickname,realname,headimgurl,id','enroll_user'])->take($page_size)->skip($num)->get(); return $this->success_list([$re,'count'=>$count]); } public function ExportEnrollList(Request $request){ $search_name=$request->input('search_name'); $season=$request->input('season',6); $re=Enroll::where('is_pay',1)->where('season',$season)->wherenull('is_refund'); if($search_name){ $uid=User::where('nickname','like',"%$search_name%")->orwhere('mobile','like',"%$search_name%")->pluck('id'); $re->whereIn('user_id',$uid); } $re=$re->leftjoin('users','users.id','=','enroll.user_id') ->join('warea','warea.id','=','users.warea_id') ->leftjoin('enroll_user','enroll_user.user_id','=','users.id') ->select('users.mobile as 手机号','users.nickname as 昵称',DB::raw('(CASE WHEN users.level=1 THEN "销售主管" WHEN users.level=2 THEN "销售经理" WHEN users.level=3 THEN "代理公司" ELSE "未知" END) as 级别'),'warea.name as 战区','enroll.created_at as 报名时间','agent_id','enroll_user.mobile as 收货人手机号','enroll_user.province as 省份','enroll_user.name as 收获人姓名','enroll_user.city as 城市','enroll_user.town as 地区','enroll_user.address as 详细地址' ) ->get()->toArray(); $data=[]; foreach ($re as $k=>$v){ $agent_id=$v['agent_id']; unset($v['agent_id']); $data[$k]=$v; if ($v['级别']=='代理公司'){ $data[$k]['代理公司']='暂无'; }else{ $agent=User::find($agent_id); if ($agent){ if ($agent->level==3){ $data[$k]['代理公司']=$agent->remark_name; }else{ $agents=User::find($agent->agent_id); $data[$k]['代理公司']=$agents->remark_name; } }else{ $data[$k]['代理公司']='暂无'; } } } return $this->success($data,count($re)); } public function EEnrollList(Request $request){ $search_name=$request->input('search_name'); $season=$request->input('season',4); $re=Enroll::where('is_pay',1)->where('season',$season)->wherenull('is_refund'); if($search_name){ $uid=User::where('nickname','like',"%$search_name%")->orwhere('mobile','like',"%$search_name%")->pluck('id'); $re->whereIn('user_id',$uid); } $re=$re->join('users','users.id','=','enroll.user_id') ->join('warea','warea.id','=','users.warea_id') ->leftjoin('enroll_user','enroll_user.user_id','=','users.id') ->select('users.mobile as 手机号','users.nickname as 昵称',DB::raw('(CASE WHEN users.level=1 THEN "销售主管" WHEN users.level=2 THEN "销售经理" WHEN users.level=3 THEN "代理公司" ELSE "未知" END) as 级别'),'warea.name as 战区','enroll.created_at as 报名时间','enroll.id','agent_id','enroll_user.mobile as 收货人手机号','enroll_user.province as 省份','enroll_user.name as 收获人姓名','enroll_user.city as 城市','enroll_user.town as 地区','enroll_user.address as 详细地址' ) ->pluck('id')->toArray(); $data=Enroll::where('season',4)->where('is_pay',1)->whereNull('is_refund')->whereNotIn('id',$re)->get(); return $this->success($data,count($re)); } /* * 点击退款 * **/ public function Refund(Request $request){ $re=Enroll::find($request->input('id')); if ($re){ $options=$this->options(); $payment=Factory::payment($options); $number=time().$re->user_id.random_int(11111,99999); // 参数分别为:商户订单号、商户退款单号、订单金额、退款金额、其他参数 $result = $payment->refund->byOutTradeNumber($re->enroll_no, $number, $re->cost*100, $re->cost*100, [ // 可在此处传入其他参数,详细参数见微信支付文档 'refund_desc' => $request->input('refund_desc'), 'notify_url'=>'https://api.admin.app.jiuweiyun.cn/api/pay/RefoundMessage' ]); $re->refund_cause=$request->input('refund_desc'); $re->op_name=Auth::user()->name; $re->is_refund=1; $re->save(); } return $this->success([]); } public function RefundMessage(Request $request){ $options = $this->options(); $payment = Factory::payment($options); $response = $payment->handleRefundedNotify(function ($message, $reqInfo, $fail){ $out_trade_no = $reqInfo['out_trade_no']; // 商户订单号 $out_refund_no = $reqInfo['out_refund_no']; // 微信支付退款订单号 $order = Enroll::where('enroll_no', '=', $out_trade_no)->first(); if (empty($order)) { return true; // 告诉微信,我已经处理完了,订单没找到,别再通知我了 } if ($message['return_code'] === 'SUCCESS') { // return_code 表示通信状态,不代表支付状态 // 用户是否支付成功 if ($reqInfo['refund_status'] === 'SUCCESS') { $enroll = Enroll::where('enroll_no', '=', $out_trade_no)->first(); $enroll->is_refund = 1; $enroll->refund_num = $out_refund_no; $enroll->refund_time = Carbon::now()->toDateTimeString(); $enroll->save(); } } else { return $fail('通信失败,请稍后再通知我'); } return true; }); return $response; } protected function options(){ return [ 'app_id' => config('wechat.payment.daweiboshi.app_id'),//config('wechat.payment.default.app_id'), 'mch_id' => config('wechat.payment.daweiboshi.mch_id'), 'sub_mch_id' => '', 'key' => config('wechat.payment.daweiboshi.key'), 'notify_url' =>'', // 'notify_url' =>url('api/pay/message'), 'cert_path' =>config('wechat.payment.daweiboshi.cert_path'), 'key_path' =>config('wechat.payment.daweiboshi.key_path'), ]; } public function GetUserRecom(){ $re=User::where('level',3)->with(['child'=>function ($q){ $q->with(['child'=>function($query){ $query->select('level','nickname','remark_name','mobile','headimgurl','id','agent_id',DB::raw('if("status"=0,"false","true") as collapsed ')); }])->select('level','nickname','remark_name','mobile','headimgurl','id','agent_id',DB::raw('if("status"=0,"false","true") as collapsed ')); }])->select('level','nickname','remark_name','mobile','headimgurl','id','agent_id',DB::raw('if("status"=0,"false","true") as collapsed '))->limit(50)->get(); return $this->success($re); } public function GetUserRecoms(){ $re=Cache::remember('UserDataAll',Carbon::now()->addDays(1),function (){ return User::where('recom_id',31070)->with(['allChildren'=>function ($q){ $q->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id')->whereNotNull('recom_id'); }])->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id')->whereNotNull('recom_id')->get(); }); return $this->success($re); } public function GetParent(Request $request){ $id=$request->input('id',null); $status=$request->input('status',null)??null; $id_arr=[]; if ($id){ $id_arr=$this->Getcom($id,[]); } if (!$status){ $re=User::where('recom_id',31070)->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id','cre_num','realname','province','city','country')->whereNull('deleted_at')->whereNotNull('recom_id')->get(); }else{ $re=User::where('recom_id',31070)->where('id',$id)->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id','cre_num','realname','province','city','country')->whereNull('deleted_at')->whereNotNull('recom_id')->get(); } $res=$this->Getcoms($id_arr,$re); return $this->success($res); } public function GetParents(Request $request){ $id=$request->input('id',null); $arr=$request->input('arr',null)??null; Log::error($arr); $data=[]; if ($arr){ foreach ($arr as $k=>$v){ $data[]=json_decode($v,true); } } $arr=$data; $id_arr=[]; if ($id){ $id_arr=$this->Getcom($id,[]); } if (!isset($arr[0])){ $re=User::where('recom_id',31070)->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id','cre_num','realname','province','city','country')->whereNull('deleted_at')->whereNotNull('recom_id')->get(); }else{ if (!$arr[0]['status']){ $re=User::where('recom_id',31070)->where('id',$arr[0]['id'])->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id','cre_num','realname','province','city','country')->whereNull('deleted_at')->whereNotNull('recom_id')->get(); }else{ $re=User::where('recom_id',31070)->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id','cre_num','realname','province','city','country')->whereNull('deleted_at')->whereNotNull('recom_id')->get(); } } $res=$this->Getcomss($id_arr,$re,$arr,0,[],1,$id); $e=[]; for($i=1;$i<$res[1];$i++){ $e[]=$i; } return $this->success(['data'=>$res[0],'info'=>[$e,$res[3]]]); } public function Getcom($id,$arr=[]){ $user=User::where('id',$id)->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id','cre_num','realname')->whereNotNull('recom_id')->whereNull('deleted_at')->first(); $arr[]=$id; // $recom_arr=User::where('recom_id',$user->recom_id)->select('level','nickname','remark_name','mobile','headimgurl','id','recom_id')->get(); // foreach ($recom_arr as $k=>$v){ // if ($v->id==$id){ // $recom_arr[$k]->collapsed=false; // } // } // // $arrs=$recom_arr; if ($user->recom_id!=31070){ if ($user->recom_id){ $arr[]=$user->recom_id; return $this->Getcom($user->recom_id,$arr); } } return $arr; } public function Getcoms($ids=[],$re){ foreach ($re as $k=>$v){ $child=User::where('recom_id',$v->id)->whereNull('deleted_at')->count(); if ($child){ $re[$k]->hasChild=true; }else{ $re[$k]->hasChild=false; } if (in_array($v->id,$ids)){ $re[$k]->collapsed=false; $child=User::where('recom_id',$v->id)->whereNull('deleted_at')->select('level','cre_num','nickname','remark_name','mobile','headimgurl','id','recom_id','realname')->get(); $re[$k]->child=$child; if (count($child)){ $re[$k]->hasChild=true; }else{ $re[$k]->hasChild=false; } $this->Getcoms($ids,$re[$k]->child); } } return $re; } public function Getcomss($ids=[],$re,$arr,$m,$e,$l,$id,$r=0){ if (!isset($arr[$m])){ $status=true; }else{ if ($arr[$m]['status']){ $status=true; }else{ $status=false; } } foreach ($re as $k=>$v){ $l++; $child=User::where('recom_id',$v->id)->whereNull('deleted_at')->count(); if ($child){ $re[$k]->hasChild=true; }else{ $re[$k]->hasChild=false; } $re[$k]->status=$status; if (!$status){ $re[$k]->team=User::where('agent_id',$v->id)->count(); $num=$this->getUpTeam($v->id); $re[$k]->up_team=$num['num']; } if (!$status){ $ll=$l-1; $cre_num=$v->cre_num; $re[$k]->age=''; $re[$k]->sexs=''; if ($cre_num){ $year=date('Y',time()); $re[$k]->age=$year-mb_substr($cre_num,6,4); $sex=mb_substr($cre_num,16,1); if ($sex%2==0){ $re[$k]->sexs='女'; }else{ $re[$k]->sexs='男'; } } $re[$k]->address=$v->province.$v->city.$v->country; $re[$k]->l=$ll; $e[]=$re[$k]; } if ($v->id==$id){ $r=$l; } if (in_array($v->id,$ids)){ $m++; if (!isset($arr[$m])){ $re[$k]->collapsed=false; $child=User::where('recom_id',$v->id)->whereNull('deleted_at')->select('level','cre_num','nickname','remark_name','mobile','headimgurl','id','recom_id','realname','province','city','country')->get(); $re[$k]->child=$child; if (count($child)){ $re[$k]->hasChild=true; }else{ $re[$k]->hasChild=false; } $h=$this->Getcomss($ids,$re[$k]->child,$arr,$m,$e,$l,$id,$r); $l=$h[1]; $r=$h[2]; $e=$h[3]; }else{ if (!$arr[$m]['status']){ $re[$k]->collapsed=false; $child=User::where('recom_id',$v->id)->where('id',$arr[$m]['id'])->whereNull('deleted_at')->select('level','cre_num','nickname','remark_name','mobile','headimgurl','id','recom_id','realname','province','city','country')->get(); $re[$k]->child=$child; if (count($child)){ $re[$k]->hasChild=true; }else{ $re[$k]->hasChild=false; } $h=$this->Getcomss($ids,$re[$k]->child,$arr,$m,$e,$l,$id,$r); $l=$h[1]; $r=$h[2]; $e=$h[3]; }else{ $re[$k]->collapsed=false; $child=User::where('recom_id',$v->id)->whereNull('deleted_at')->select('level','cre_num','nickname','remark_name','mobile','headimgurl','id','recom_id','realname','province','city','country')->get(); $re[$k]->child=$child; if (count($child)){ $re[$k]->hasChild=true; }else{ $re[$k]->hasChild=false; } $h=$this->Getcomss($ids,$re[$k]->child,$arr,$m,$e,$l,$id,$r); $l=$h[1]; $r=$h[2]; $e=$h[3]; } } } } return [$re,$l,$r,$e]; } public function GetRcomList(Request $request){ $id=$request->id; $user=User::where('recom_id',$id)->select('level','nickname','cre_num','remark_name','mobile','headimgurl','id','recom_id','realname')->get(); return $this->success($user); } /**修改战区***/ public function UpdateWarea(Request $request){ User::where('id',$request->id)->update(['warea_id'=>$request->input('warea_id')]); return $this->success([]); } /****/ public function GetUserInfos(Request $request){ $id=$request->input('id'); $id_all=[$id]; $agent_id=User::where('agent_id',$id)->pluck('id')->toArray(); $id_all=array_merge($id_all,$agent_id); $re=User::whereIn('agent_id',$id_all)->select('id','recom_id','agent_id','nickname' ,'mobile','level')->with(['recom','agent'])->get(); $data=[]; foreach ($re as $k=>$v){ $data[$k]['昵称']=$v->nickname; $data[$k]['手机号']=$v->mobile; $data[$k]['级别']=$v->level; $data[$k]['上级昵称']=$v->agent->nickname; $data[$k]['上级手机号']=$v->agent->mobile; $data[$k]['邀请人昵称']=$v->recom->nickname; $data[$k]['邀请人手机号']=$v->recom->mobile; } return $this->success($data); } //顶级升皇冠 // public function getAgentLevelInfoTwos($uid,$arr){ // $list=User::where('recom_id', $uid)->where('level','<',3)->select('id','nickname','realname','mobile','level','recom_id')->get()->toArray();//获取所有邀请人 // if(count($list)>0){ // foreach($list as $key=>$val){ // if($val['level']=='2' || $val['level']=='1'){ // array_push($arr,$val); // $arr=$this->getAgentLevelInfoTwos($val['id'],$arr); // } // } // } // return $arr; // } public function GetUSerAll(){ $data=User::whereIn('cert_status',[3,6])->where('service_status',0)->whereNull('deleted_at') ->where('in_group',1)->select('nickname','mobile','level')->get(); return $this->success($data); } /**获取现在和历史邀请人信息**/ public function GetNowHistory(Request $request){ $id=$request->input('id'); $user=User::where('id',$id)->withTrashed()->first(); $NowRom=User::where('id',$user->recom_id)->select('nickname','id','headimgurl','mobile','realname','level')->withTrashed()->first(); $user_cert=UserCert::where('user_id',$id)->first(); $data['now']=$NowRom; $data['history']=[]; $arr=[]; if ($user_cert){ if ($user_cert->recom_id==$user->recom_id){ $data['history']=[]; }else{ $recom_user=User::where('id',$user_cert->recom_id)->select('nickname','id','headimgurl','mobile','realname','level','deleted_at')->withTrashed()->first()->toArray(); if ($recom_user){ if ($recom_user['deleted_at']){ $recomuser_cert=AgentOperationLog::where('user_id',$recom_user['id'])->where('type',4)->value('remark'); $t=['remark'=>$recomuser_cert]; $t=array_merge($recom_user,$t); $arr[]=$t; } } $user_cert=AgentOperationLog::where('user_id',$id)->where('type',3)->get(); foreach ($user_cert as $k=>$v){ $num=stripos($v->log,'null'); if (!is_numeric($num)){ $log=mb_substr($v->log,13); $num=stripos($log,','); $ids=mb_substr($log,0,$num); $usser=User::where('id',$ids)->select('nickname','id','headimgurl','mobile','realname','level','deleted_at')->withTrashed()->first()->toarray(); $t=['remark'=>$v->remark]; $t=array_merge($usser,$t); $arr[]=$t; } } $data['history']=$arr; } } return $this->success($data); } //上传图片 public function uploadImage(Request $request){ $file= $request->file('file'); $path_url='activity_img/user_img'; $upload= new UploadFilesHandler(); $result= $upload->save($file, $path_url, null, 'image'); if($result){ return $this->success($result['path']); } return $this->error(); } }