424 lines
17 KiB
PHP
424 lines
17 KiB
PHP
<?php
|
|
namespace app\agent\controller;
|
|
use pay\Usdt;
|
|
use \think\Controller;
|
|
use think\Lang;
|
|
use \think\Session;
|
|
use \think\Request;
|
|
use \think\Db;
|
|
|
|
class Manager Extends Common{
|
|
public function index(){
|
|
$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);
|
|
// 搜索代理
|
|
$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']]));
|
|
}
|
|
}
|
|
} |