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); } 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']); } } $user->whereIn('cert_status', [3, 6]); // 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', $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('id', 'nickname', 'name','remark','realname', 'level', 'headimgurl', 'mobile', 'recom_id', 'agent_id', 'warea_id','cre_num', 'status', 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(); foreach ($list as $k=>$v){ if (empty($v->remark)){ $list[$k]['remark']=''; } 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=''; } } return $this->success_list($list, '获取数据成功', $count); } /**查找代理公司**/ public function get_crown($id){ $re=User::with(['agent:id,nickname,mobile,level',])->where('id',$id)->first(); 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'); } 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]); 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', $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', DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted'),'deleted_at') ->orderBy('id', 'desc') // ->skip($num)->take(10000) ->get(); foreach ($list as $k=>$v){ 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 ($list) { return $this->success($list); } else { return $this->error(); } //======= //// 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 = Cache::remember($keys, 60, function () use ($user){ // $ll = $user->with(['recom:id,nickname,mobile','agent:id,nickname,mobile']) //// ->select('nickname','name','mobile','cre_num','level','auth_code','auth_startime','auth_endtime','created_at','recom_code','status','cert_status') // ->orderBy('id','desc') // ->skip($num)->take(10000) // ->get(); // if($ll){ // foreach($ll as $key=>$val){ // if(!empty($val->deleted_at)){ // $ll[$key]['delete']=1;//已删除 // }else{ // $ll[$key]['delete']=0;//未删除 // } // $ll[$key]['cert_status']=6; // //// $ll[$key]['warea']=$this->getWareaInfo($val->warea_id); //// $list[$key]['account']=$user->getAgentSalesResult($val->id); // } // return $this->success($ll); // }else{ // return $this->error(); // } //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab } //代理详情 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->crown=$this->get_crown($user->id); } else { $user->child_agent = []; $user->childAgentCount = 0; $user->crown=$this->get_crown($user->id); } 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)); 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 = []; } else { $where['cert_status'] = $input['cert']; } $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 . '%'); }) ->where($where) ->where('id', '<>', 1) ->count(); if ($count == 0) { $this->error('400001', '没有数据'); } // DB::enableQueryLog(); $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 . '%'); }) ->where($where) ->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(); if (empty($list)) { return $this->error('400002', '没有获取到数据'); } return $this->success_list($list, '获取数据成功', $count); } //获取代理授权信息 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[345789][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[345789][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']; //<<<<<<< HEAD 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[345789][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') { $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 = $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); $this->addAgentOperationLog('3', $user->id, $remark, $log); 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(); } // if($user->level==$recomUser->level){ //特级-》特级 顶级-》顶级 皇冠-》皇冠 // $user->agent_id=$recomUser->agent_id; // } // if($user->level<$recomUser->level){ //皇冠-》顶级 皇冠-》特级 顶级-》特级 // $user->agent_id=$recomUser->id; // } // if($user->level>$recomUser->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) { $input = $request->all(); $user = User::find($input['id']); $before_level=$user->level; $user_level=$user->level; if ($user->level==3 && $input['level']<$user->level){ if ($user->money>0){ return $this->error(400124,'代理公司账户中还存有余额,请将余额归零后降级'); } } 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 = '降级'; $log = '(降级)变更前等级:' . $before . ',变更后等级:' . $after; } else { $remark = '等级变更错误'; $log = ''; } $result=User::find($input['id']); $result->before=$before_level; event(new ChangeUserLevel($result)); $this->addAgentOperationLog('2', $user->id, $remark, $log); 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([]); } 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 = ''; //<<<<<<< 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(); $user = User::find($input['id']); $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']; $img=json_encode($input['img']); $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 destroyUploadImg(Request $request){ if(empty($request->has('file'))){ return $this->error('450001','请选择图片!'); } $path_url='delete/img'; $path = $request->file('file')->store($path_url); $url = Storage::url($path); if($url){ return $this->success($url); } 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']) ->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; // $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()); } 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->name = $request->realname; 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]; $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) { return AgentOperationLog::create([ 'type' => $type, 'admin_name' => Auth::user()->name, 'admin_id' => Auth::user()->id, 'user_id' => $user_id, 'remark' => $remark, 'log' => $log, 'img' => $img ]); } 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[345789][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(); $this->addAgentOperationLog('41', $result->id, '撤销删除状态', '撤销删除状态'); Log::info('用户'.$input['mobile'].'被恢复'); if(!empty($ids)) { foreach (json_decode($ids, true) as $valvv) { $user = User::find($valvv);//当前用户 if ($user) { 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 getUpTeam($uid){ $user=User::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 search_peoples(Request $request){ $admin_user=Auth::user(); $status=false; if ($admin_user->role_id==22||$admin_user->role_id==32){ $status=true; } $warea_id=Warea::where('admin_id',$admin_user->id)->value('id'); $input=$request->all(); $page_index=$input['page_index']; $page_size=$input['page_size']; $num=($page_index-1)*$page_size; $user=User::whereNull('deleted_at')->whereIn('cert_status',[3,6])->with(['agent','recom'])->where('service_status',$input['status']); if (!$status){ $user=$user->where('warea_id',$warea_id); } if ($input['search_content']){ $search_content=$input['search_content']; $where=function ($q)use($search_content){ $q->where('mobile','like','%'.$search_content.'%') ->orwhere('nickname','like','%'.$search_content.'%'); }; $user->where($where); } $user=$user->with(['get_service']); $count=$user->count(); $result=$user->take($page_size)->skip($num)->get(); return $this->success_list($result,'',$count); } /**政委审核**/ public function service_audit(Request $request){ $input=$request->all(); $status=$input['status'];//0通过1未通过 DB::beginTransaction(); try{ $user=User::where('id',$request->id)->first(); 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['data']=[ 'first' => '恭喜您,您的注册申请已被政委驳回。原因'.$input['reason'], 'keyword1' => '政委驳回', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditServiceEvent($me)); } }elseif ($status==0){ $user->service_status=0; if ($user->openid){ $me['openid']=$user->openid; $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 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 get_del_cause(){ $re=CauseDel::where('type',0)->select('id','cause')->get(); return $this->success($re); } public function GetUserAuthEnd(Request $request){ $input=$request->all(); } }