diff --git a/Application/Admin/Controller/PromoteController.class.php b/Application/Admin/Controller/PromoteController.class.php index 0d78d3e5c..dd2d16126 100644 --- a/Application/Admin/Controller/PromoteController.class.php +++ b/Application/Admin/Controller/PromoteController.class.php @@ -1190,15 +1190,29 @@ class PromoteController extends ThinkController { if (IS_AJAX) { //获取所有游戏 - $game_list = M('game', 'tab_')->field('relation_game_id id,relation_game_name game_name,short')->where(['game_status'=>1,'down_port'=>1])->group("relation_game_id")->select(); - $data['data']['game_list'] = empty($game_list) ? '' : $game_list; - //获取推广员信息 - $promote_info = M('promote', 'tab_')->field('id,account,game_ids')->where(['id'=>I('id', 0, 'intval')])->find(); - if (!empty($promote_info['game_ids'])) { - $this->changeGameidToRelationGameid($promote_info['game_ids']); - $promote_info['game_ids'] = explode(',', $promote_info['game_ids']); - } - $data['data']['promote_info'] = empty($promote_info) ? '' : $promote_info; + $promoteId = I('id', 0, 'intval'); + $promote = M('promote', 'tab_')->field('id,account,game_ids,company_id')->where(['id'=>$promoteId])->find(); + $company = M('promote_company', 'tab_')->field('game_ids')->where(['id' => $promote['company_id']])->find(); + $data = []; + if (!$company || $company['game_ids'] == '') { + $data['data']['game_list'] = []; + } else { + $companyGameIds = explode(',', $company['game_ids']); + $game_list = M('game', 'tab_') + ->field('relation_game_id id,relation_game_name game_name,short') + ->where(['game_status'=>1, 'down_port'=>1, 'id' => ['in', $companyGameIds]]) + ->group("relation_game_id") + ->select(); + $data['data']['game_list'] = empty($game_list) ? '' : $game_list; + } + + if (empty($promote['game_ids'])) { + $promote['game_ids'] = []; + } else { + $this->changeGameidToRelationGameid($promote['game_ids']); + $promote['game_ids'] = explode(',', $promote['game_ids']); + } + $data['data']['promote_info'] = empty($promote) ? '' : $promote; $data['msg'] = '请求成功'; $data['code'] = 1; diff --git a/Application/Admin/Model/PromoteModel.class.php b/Application/Admin/Model/PromoteModel.class.php index f61c4a71d..11f4bf490 100644 --- a/Application/Admin/Model/PromoteModel.class.php +++ b/Application/Admin/Model/PromoteModel.class.php @@ -65,29 +65,45 @@ class PromoteModel extends Model{ $map['account'] = $account; /* 获取用户数据 */ $user = $this->where($map)->find(); - if(is_array($user) && $user['status'] == 1){ - /* 验证用户密码 */ - if(think_ucenter_md5($password, UC_AUTH_KEY) === $user['password']){ - $this->autoLogin($user); //更新用户登录信息 - return $user['id']; //登录成功,返回用户ID - } else { - return -2; //密码错误 - } + + $status = $this->checkStatus($user); + if ($status != 1) { + return $status; + } + + /* 验证用户密码 */ + if(think_ucenter_md5($password, UC_AUTH_KEY) === $user['password']){ + $this->autoLogin($user); //更新用户登录信息 + return $user['id']; //登录成功,返回用户ID } else { - if(is_array($user) && $user['status'] == 2){return -3;} - if(is_array($user) && $user['status'] == 0){return -4;} - return -1; //用户不存在或被禁用 + return -2; //密码错误 } } public function login_phone($user) { + $status = $this->checkStatus($user); + if ($status != 1) { + return $status; + } $this->autoLogin($user); + return $user['id']; } + public function checkStatus($user) + { + if (!is_array($user)) { + return -1; + } + if ($user['status'] == 1) { + return 1; + } elseif ($user['status'] == 2) { + return -3; + } elseif ($user['status'] == 0) { + return -4; + } + return -1; + } - - - public function register($reg_data){ $data = array( 'account' => $reg_data['account'], diff --git a/Application/Admin/View/Promote/lists.html b/Application/Admin/View/Promote/lists.html index 448b05aca..f78af1e5e 100644 --- a/Application/Admin/View/Promote/lists.html +++ b/Application/Admin/View/Promote/lists.html @@ -588,9 +588,9 @@ lis.push('
  • '); - if(promote_info['game_ids']==''){ - lis.push(''); - }else{ + // if(promote_info['game_ids']==''){ + // lis.push(''); + // }else{ if(promote_info['game_ids'].indexOf(ele.id)>-1){ lis.push(''); }else{ @@ -598,7 +598,7 @@ lis.push(''); checked = ''; } - } + // } lis.push(''); lis.push(''+ele.game_name+''); diff --git a/Application/Base/Service/PromoteService.class.php b/Application/Base/Service/PromoteService.class.php index 3a81709b5..19d7abbec 100644 --- a/Application/Base/Service/PromoteService.class.php +++ b/Application/Base/Service/PromoteService.class.php @@ -1038,7 +1038,7 @@ class PromoteService { return null; } - public function canPresidentApplyGame($promote) + public function isPresidentAccess($promote) { $topPromote = $this->getTopPromote($promote); if (in_array($topPromote['company_belong'], [1, 2])) { @@ -1113,13 +1113,19 @@ class PromoteService { public function getVisibleGameIds($promote) { - $gameIds = M('game', 'tab_')->getField('id', true); - $selfGameIds = $promote['game_ids'] == '' ? $gameIds : explode(',', $promote['game_ids']); + /* $gameIds = M('game', 'tab_')->getField('id', true); + $selfGameIds = $promote['game_ids'] == '' ? $gameIds : explode(',', $promote['game_ids']); */ + + $topPromote = $this->getTopPromote($promote); + $topGameIds = $topPromote['game_ids'] == '' ? [] : explode(',', $topPromote['game_ids']); + $selfGameIds = $topGameIds; + // $selfGameIds = $promote['game_ids'] == '' ? [] : explode(',', $promote['game_ids']); + // $selfGameIds = array_intersect($topGameIds, $selfGameIds); + if ($promote['level'] == 1) { return $selfGameIds; } - $topPromote = $this->getTopPromote($promote); if ($topPromote['child_game_permission'] == 0) { $gameIds = M('apply', 'tab_')->where(['offline_status' => 0, 'promote_id' => $topPromote['id']])->getField('game_id', true); if (empty($gameIds)) { diff --git a/Application/Home/Controller/ApplyController.class.php b/Application/Home/Controller/ApplyController.class.php index 4c6fb05e2..1fd33a97a 100644 --- a/Application/Home/Controller/ApplyController.class.php +++ b/Application/Home/Controller/ApplyController.class.php @@ -1028,7 +1028,7 @@ class ApplyController extends BaseController if ($_POST['game_id']) { $loginPromote = $this->getLoginPromote(); $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($loginPromote)) { + if (!$promoteService->isPresidentAccess($loginPromote)) { $this->ajaxReturn([ 'status' => 0, 'msg' => '请联系市场专员开启', @@ -1640,7 +1640,7 @@ class ApplyController extends BaseController { $promote = $this->getLoginPromote(); $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($promote)) { + if (!$promoteService->isPresidentAccess($promote)) { $this->ajaxReturn([ 'status' => 0, 'message' => '请联系市场专员开启', @@ -1820,7 +1820,7 @@ class ApplyController extends BaseController } $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($promote)) { + if (!$promoteService->isPresidentAccess($promote)) { $this->ajaxReturn([ 'status' => 0, 'message' => '请联系市场专员开启', @@ -1873,7 +1873,7 @@ class ApplyController extends BaseController } $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($promote)) { + if (!$promoteService->isPresidentAccess($promote)) { $this->ajaxReturn([ 'status' => 0, 'message' => '请联系市场专员开启', diff --git a/Application/Home/Controller/GameController.class.php b/Application/Home/Controller/GameController.class.php index c3e505a2d..b83e2f43d 100644 --- a/Application/Home/Controller/GameController.class.php +++ b/Application/Home/Controller/GameController.class.php @@ -135,7 +135,7 @@ class GameController extends BaseController } $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($loginPromote)) { + if (!$promoteService->isPresidentAccess($loginPromote)) { return $this->ajaxReturn(['status' => 0, 'message' => '请联系市场专员开启']); } @@ -200,7 +200,7 @@ class GameController extends BaseController $loginPromote = $this->getLoginPromote(); $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($loginPromote)) { + if (!$promoteService->isPresidentAccess($loginPromote)) { return $this->ajaxReturn(['status' => 0, 'message' => '请联系市场专员开启']); } @@ -1829,7 +1829,7 @@ class GameController extends BaseController { $promote = $this->getLoginPromote(); $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($promote)) { + if (!$promoteService->isPresidentAccess($promote)) { $this->ajaxReturn([ 'status' => 0, 'message' => '请联系市场专员开启', @@ -2009,7 +2009,7 @@ class GameController extends BaseController } $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($promote)) { + if (!$promoteService->isPresidentAccess($promote)) { $this->ajaxReturn([ 'status' => 0, 'message' => '请联系市场专员开启', @@ -2062,7 +2062,7 @@ class GameController extends BaseController } $promoteService = new PromoteService(); - if (!$promoteService->canPresidentApplyGame($promote)) { + if (!$promoteService->isPresidentAccess($promote)) { $this->ajaxReturn([ 'status' => 0, 'message' => '请联系市场专员开启', diff --git a/Application/Home/Controller/IndexController.class.php b/Application/Home/Controller/IndexController.class.php index a6a629b73..cb2c5bb33 100644 --- a/Application/Home/Controller/IndexController.class.php +++ b/Application/Home/Controller/IndexController.class.php @@ -15,6 +15,7 @@ use User\Api\PromoteApi; use Home\Controller\DownController; use Base\Tool\TaskClient; +use Base\Service\PromoteService; /** * 前台首页控制器 @@ -68,10 +69,16 @@ class IndexController extends HomeController $account = $_POST['account']; $password = $_POST['password']; - $promote = new PromoteApi(); - $result = $promote->login($account, $password); - + $api = new PromoteApi(); + $result = $api->login($account, $password); if ($result > 0) { + + $promote = M("promote", "tab_")->where(['id' => $result])->find(); + $promoteService = new PromoteService(); + if (!$promoteService->isPresidentAccess($promote)) { + $this->ajaxReturn(array("status" => 0, "msg" => '请联系市场专员开通账号。')); + } + $map['account'] = $account; $data['last_login_time'] = time(); M("promote", "tab_")->where($map)->save($data); @@ -83,25 +90,7 @@ class IndexController extends HomeController M("promote_login_record", "tab_")->add($loginrecord); $this->ajaxReturn(array("status" => 1, "msg" => "登录成功", 'url' => U('Promote/index'))); } else { - $msg = ""; - switch ($result) { - case -1: - $msg = "账号或密码错误!"; - break; - case -2: - $msg = "账号或密码错误!"; - break; - case -3: - $msg = "账号被禁用,请联系管理员"; - break; - case -4: - $msg = "审核中,请联系管理员"; - break; - default: - $msg = "未知错误!请联系管理员"; - break; - } - + $msg = $this->getLoginMessage($result); $this->ajaxReturn(array("status" => 0, "msg" => $msg)); } } @@ -115,6 +104,7 @@ class IndexController extends HomeController $promote = M('promote', 'tab_')->where([ 'login_phone' => $mobile, ])->find(); + if($promote) { $loginrecord['promote_id'] = $promote['id']; $loginrecord['account'] = $promote['account']; @@ -123,17 +113,48 @@ class IndexController extends HomeController $loginrecord['create_time'] = time(); M("promote_login_record", "tab_")->add($loginrecord); setcookie('login_phone', $mobile, time() + 3600 * 10000, $_SERVER["HTTP_HOST"]); - $promote1 = new PromoteApi(); - $result = $promote1->login_phone($promote['account']); - if ($result) { + $api = new PromoteApi(); + $result = $api->login_phone($promote['account']); + if ($result > 0) { + + $promoteService = new PromoteService(); + if (!$promoteService->isPresidentAccess($promote)) { + $this->ajaxReturn(array("status" => 0, "msg" => '请联系市场专员开通账号。')); + } + $this->ajaxReturn(array("status" => 1, "msg" => "登录成功", 'url' => U('Promote/index'))); - } - - }else { + } else { + $msg = $this->getLoginMessage($result); + $this->ajaxReturn(array("status" => 0, "msg" => $msg)); + } + } else { $this->error('此电话未注册,登录失败'); } } + public function getLoginMessage($result) + { + $msg = ""; + switch ($result) { + case -1: + $msg = "账号或密码错误!"; + break; + case -2: + $msg = "账号或密码错误!"; + break; + case -3: + $msg = "账号被禁用,请联系管理员"; + break; + case -4: + $msg = "审核中,请联系管理员"; + break; + default: + $msg = "未知错误!请联系管理员"; + break; + } + return $msg; + } + /* public function register() { if (IS_POST) {