assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); // 用于分页和搜索查询的数据 $get = Request::instance()->get(); $query = http_build_query($get); $this->assign('get',$get); $this->assign('query',$query); // 搜索代理 $username = trim(Request::instance()->get('username')); $user_info = Session::get('user_info'); // 拼装查询条件 $where = array(); $where['status'] = 1; $where['parent_agent_id'] = $user_info['id']; if($username){ $where['username'] = $username; } $manager_list = Db::connect('DB2')->name('manager')->where($where)->order('id asc')->paginate(20,false,array('query'=>$get)); foreach($manager_list as $k => $v){ $v['last_login_time'] = $v['last_login_time'] ? date('Y-m-d H:i:s',$v['last_login_time']) : ''; $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $manager_list[$k] = $v; } // 渲染参数和模板 $this->assign('user_info',$user_info); $this->assign('manager_list',$manager_list); return $this->fetch(); } // 添加代理页面 public function add(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); // 获取管理员信息 $user_info = Session::get('user_info'); if($user_info['account_type'] == 2 || $user_info['account_type'] == 3){ return $lang['illegal_request']; } // 获取父代理信息 $parent_id = Request::instance()->get('parent_id'); $agentParent = Db::name('user')->where('id',$parent_id)->find(); if(!$agentParent || $agentParent['agent'] == 0){ echo $lang['parent_error']; die(); } if($parent_id == CREDIT_AGENT_ID){//是否需要字母前缀 $newLetter = config('letters');//A-Z数组 }else{ $newLetter = $agentParent['letter']?[$agentParent['letter']]:[]; } //渲染参数和模板 $this->assign('newLetter',$newLetter); $this->assign('user_info',$user_info); $this->assign('agentParent',$agentParent); return $this->fetch(); } public function do_add(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); if(Request::instance()->post()){ // 获取管理员信息 $user_info = Session::get('user_info'); $account_type = $user_info['account_type']; $user_info = Db::name('user')->where('id',$user_info['id'])->find(); $user_info['account_type'] = $account_type; // 接收参数 $parent_id = intval(Request::instance()->post('parent_id')); $letter = trim(Request::instance()->post('letter')); $username = trim(Request::instance()->post('username')); $nickname = trim(Request::instance()->post('nickname')); $password = trim(Request::instance()->post('password')); $repassword = trim(Request::instance()->post('repassword')); $mobile = trim(Request::instance()->post('mobile')); $telegram = trim(Request::instance()->post('telegram')); $remark = Request::instance()->post('remark'); // 验证数据 if($parent_id <= 0){ die(json_encode(['code'=>0,'msg'=>$lang['parent_error']])); } $agentParent = Db::name('user')->where('id',$parent_id)->find(); if(!$agentParent || $agentParent['agent'] == 0){ die(json_encode(['code'=>0,'msg'=>$lang['parent_error']])); } if(!$username){ die(json_encode(['code'=>0,'msg'=>$lang['empty_username']])); } $manager = Db::name('manager')->where('username',$username)->find(); if($manager){ die(json_encode(['code'=>0,'msg'=>$lang['already_exist_username']])); } if($letter && !in_array($letter,config('letters'))){ die(json_encode(['code'=>0,'msg'=>$lang['letter_identification_error']])); } if(!$nickname){ die(json_encode(['code'=>0,'msg'=>$lang['empty_nickname']])); } if(!$password){ die(json_encode(['code'=>0,'msg'=>$lang['empty_password']])); } if(strlen($password) < 6){ die(json_encode(['code'=>0,'msg'=>$lang['new_pass_limit']])); } if($password != $repassword){ die(json_encode(['code'=>0,'msg'=>$lang['pass_diff']])); } if(!$mobile){ die(json_encode(['code'=>0,'msg'=>$lang['empty_mobile']])); } if(!$telegram){ die(json_encode(['code'=>0,'msg'=>$lang['empty_telegram']])); } // 拼装数据创建代理 $user_data = array(); $user_data['username'] = $username; $user_data['letter'] = $letter; $user_data['nickname'] = $nickname; $user_data['password'] = think_ucenter_md5($password, UC_AUTH_KEY); $user_data['encrypt'] = getRandChar(); $user_data['mobile'] = $mobile; $user_data['telegram'] = $telegram; $user_data['status'] = 1; $user_data['parent_agent_id'] = $agentParent['id']; $user_data['remark'] = $remark; $user_data['create_time'] = time(); $insertId = Db::name('manager')->insertGetId($user_data); if($insertId){ // 写入管理员日志 insertAgentLog('添加经理','添加经理:| ID: '.$insertId.' | 账号: '.$username); die(json_encode(['code'=>1,'msg'=>$lang['added_successfully']])); }else{ die(json_encode(['code'=>0,'msg'=>$lang['add_failed']])); } }else{ die(json_encode(['code'=>0,'msg'=>$lang['operation_error']])); } } public function password_manager(){ // 接收要修改的下属ID $user_id = Request::instance()->get('id'); $user_info = Db::name('manager')->where('id',$user_id)->find(); // 渲染参数和模板 $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); $this->assign('user_info',$user_info); return $this->fetch(); } public function change_password_manager(){ if(Request::instance()->post()){ $langType = cookie('think_var'); $lang = Lang::get('agent'); // 获取参数 $user_id = Request::instance()->post('user_id'); $username = Request::instance()->post('username'); $newPassword = Request::instance()->post('newPassword'); $reNewPassword = Request::instance()->post('reNewPassword'); // 验证参数 拼装数据 $user_info = Db::name('user')->where('id',$user_id)->find(); if(!$user_info){ die(json_encode(['code'=>0,'msg'=>$username.' '.$lang['exist']])); } if(empty($newPassword)){ die(json_encode(['code'=>0,'msg'=> $lang['enter_original_password']])); } if(strlen($newPassword) < 6){ die(json_encode(['code'=>0,'msg'=> $lang['new_pass_limit'] ])); } if($newPassword != $reNewPassword){ die(json_encode(['code'=>0,'msg'=> $lang['pass_diff']])); } if(think_ucenter_md5($newPassword, UC_AUTH_KEY) == $user_info['password']){ die(json_encode(['code'=>0,'msg'=> $lang['sam_new_old']])); } // 更改下属的密码 $updateRes = Db::name('manager')->where(array('id' => $user_info['id']))->update(array('password' => think_ucenter_md5($newPassword, UC_AUTH_KEY))); if($updateRes){ insertAgentLog('修改密码'); die(json_encode(['code'=>1,'msg'=> $lang['success_edit_pass']])); }else{ die(json_encode(['code'=>0,'msg'=> $lang['error_edit_pass']])); } } } public function edit(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); $user_info = Session::get('user_info'); if($user_info['account_type'] == 2 || $user_info['account_type'] == 3){ return $lang['illegal_request']; } $account_type = $user_info['account_type']; $user_info['account_type'] = $account_type; // 接收需要修改的代理ID $user_id= Request::instance()->get('user_id'); $user = Db::name('manager')->where('id',$user_id)->find(); //渲染参数和模板 $this->assign('user_info',$user_info); $this->assign('user',$user); return $this->fetch(); } public function do_edit(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $user_info = Session::get('user_info'); if($user_info['account_type'] == 2 || $user_info['account_type'] == 3){ die(json_encode(['code'=>0,'msg'=>$lang['illegal_request']])); } if(Request::instance()->post()){ // 接收参数 $user_id = Request::instance()->post('user_id'); $nickname = Request::instance()->post('nickname'); $mobile = trim(Request::instance()->post('mobile')); $telegram = trim(Request::instance()->post('telegram')); $remark = Request::instance()->post('remark'); // 验证数据 if(!$nickname){ die(json_encode(['code'=>0,'msg'=>$lang['empty_nickname']])); } if(!$mobile){ die(json_encode(['code'=>0,'msg'=>$lang['empty_mobile']])); } if(!$telegram){ die(json_encode(['code'=>0,'msg'=>$lang['empty_telegram']])); } // 拼装数据创建代理 $user_data = array(); $user_data['nickname'] = $nickname; $user_data['mobile'] = $mobile; $user_data['telegram'] = $telegram; $user_data['remark'] = $remark; $result = Db::name('manager')->where('id',$user_id)->update($user_data); if($result){ // 写入管理员日志 $user = Db::name('manager')->where('id',$user_id)->find(); insertAgentLog('编辑经理','编辑经理:| ID: '.$user['id'].' | 账号: '.$user['username']); } die(json_encode(['code'=>1,'msg'=>$lang['edit_successfully']])); }else{ die(json_encode(['code'=>0,'msg'=>$lang['operation_error']])); } } public function manager_list(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); // 用于分页和搜索查询的数据 $get = Request::instance()->get(); $query = http_build_query($get); $this->assign('get',$get); $this->assign('query',$query); // 搜索代理 $agent_id = trim(Request::instance()->get('agent_id')); $topAgent = Db::name('user')->where('id',$agent_id)->find(); $user_info = Session::get('user_info'); if($topAgent['agent_parent_id']){ $managerIdArr = explode(',',$topAgent['agent_manager_id_list']); $manager_list = Db::connect('DB2')->name('manager')->where('status',1)->whereIn('id',$managerIdArr)->order('id asc')->paginate(20,false,array('query'=>$get)); }else{ $manager_list = Db::connect('DB2')->name('manager')->where('status',1)->where('parent_agent_id',$topAgent['id'])->order('id asc')->paginate(20,false,array('query'=>$get)); } foreach($manager_list as $k => $v){ $v['last_login_time'] = $v['last_login_time'] ? date('Y-m-d H:i:s',$v['last_login_time']) : ''; $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $manager_list[$k] = $v; } // 渲染参数和模板 $this->assign('user_info',$user_info); $this->assign('manager_list',$manager_list); $this->assign('topAgent',$topAgent); return $this->fetch(); } public function add_agent_manager(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); $user_info = Session::get('user_info'); if($user_info['account_type'] == 2 || $user_info['account_type'] == 3){ return $lang['illegal_request']; } $account_type = $user_info['account_type']; $user_info['account_type'] = $account_type; // 接收需要修改的代理ID $user_id= Request::instance()->get('user_id'); $user = Db::name('user')->where('id',$user_id)->find(); $ownWhereManager = explode(',',$user['agent_manager_id_list']); $topAgent = Db::name('user')->where('id',$user['agent_parent_id'])->find(); if($topAgent['agent_parent_id'] == 0){ $manager_list = Db::name('manager')->whereNotIn('id',$ownWhereManager)->where('parent_agent_id',$topAgent['id'])->where('status',1)->field(['id','nickname'])->select(); }else{ $whereManager = explode(',',$topAgent['agent_manager_id_list']); $manager_list = Db::name('manager')->whereNotIn('id',$ownWhereManager)->whereIn('id',$whereManager)->where('status',1)->field(['id','nickname'])->select(); } //渲染参数和模板 $this->assign('user_info',$user_info); $this->assign('user',$user); $this->assign('manager_list',$manager_list); return $this->fetch(); } public function do_agent_manager_add(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $user_info = Session::get('user_info'); if($user_info['account_type'] == 2 || $user_info['account_type'] == 3){ die(json_encode(['code'=>0,'msg'=>$lang['illegal_request']])); } if(Request::instance()->post()){ $user_id = Request::instance()->post('user_id'); $manager_list = Request::instance()->post('manager_list'); if($user_id <= 0){ die(json_encode(['code'=>0,'msg'=>$lang['parent_error']])); } $agentParent = Db::name('user')->where('id',$user_id)->find(); if(!$agentParent){ die(json_encode(['code'=>0,'msg'=>$lang['parent_error']])); } if(!$manager_list){ die(json_encode(['code'=>0,'msg'=>$lang['select_manager']])); } if(!$agentParent['agent_manager_id_list']){ $oldManagerArr = []; }else{ $oldManagerArr = explode(',',$agentParent['agent_manager_id_list']); } $addManagerArr = explode(',',$manager_list); $agent_manager_id_list = array_merge($oldManagerArr,$addManagerArr); $user_data = array(); $user_data['agent_manager_id_list'] = implode(',',$agent_manager_id_list); $result = Db::name('user')->where('id',$user_id)->update($user_data); if($result){ // 写入管理员日志 $user = Db::name('user')->where('id',$user_id)->find(); insertAgentLog('编辑代理','编辑代理:| ID: '.$user['id'].' | 账号: '.$user['username']); } die(json_encode(['code'=>1,'msg'=>$lang['edit_successfully']])); }else{ die(json_encode(['code'=>0,'msg'=>$lang['operation_error']])); } } }