diff --git a/Application/Admin/Controller/GameController.class.php b/Application/Admin/Controller/GameController.class.php index 993f7b4b1..111b5fa45 100644 --- a/Application/Admin/Controller/GameController.class.php +++ b/Application/Admin/Controller/GameController.class.php @@ -17,6 +17,8 @@ use BaiduBce\Services\Bos\CannedAcl; use BaiduBce\Services\Bos\BosOptions; use BaiduBce\Auth\SignOptions; use BaiduBce\Log\LogFactory; +use Admin\Model\AuthRuleModel; +use Admin\Model\AuthGroupModel; use Base\Service\GameService; /** @@ -301,9 +303,46 @@ class GameController extends ThinkController } } + public function delSociatyGames() { + $res = ['code' => 10000]; + $id = $_REQUEST['id']; + $delRest = M('sociaty_games','tab_')->where(['id'=>$id])->delete(); + if($delRest) { + $res['code'] = 10001; + $this->ajaxReturn($res); + } + } + public function edit($id = null) { if (IS_POST) { + if(!empty($_REQUEST['apply_auth'])) { + $gameData['apply_auth'] = $_REQUEST['apply_auth']; + $game_appid = $_REQUEST['game_appid']; + $gameId = M('game','tab_')->where(['game_appid' => $game_appid])->getField('id'); + M('game','tab_')->where(['id'=>$gameId])->save($gameData); + if($_REQUEST['apply_auth'] == 1) { + M('sociaty_games','tab_')->where(['game_id'=>$gameId])->delete(); + } + if(!empty($_REQUEST['promote_data'])) { + $promote_data = json_decode($_REQUEST['promote_data'],TRUE); + $game_appid = $_REQUEST['game_appid']; + $gameId = M('game','tab_')->where(['game_appid' => $game_appid])->getField('id'); + $gameInfo = M('game','tab_')->field('game_name,game_status')->where(['id'=>$gameId])->select(); + $dataList = array(); + foreach($promote_data as $key => $promoteInfo) { + $isSociaty = M('sociaty_games','tab_')->where(['promote_id'=>intval($promoteInfo['value']),'game_id'=>intval($gameId)])->getField('id'); + if(!empty($isSociaty)) { + // $this->error("选择会长中有已存在会长"); + }else { + $dataList[] = ['promote_id' => intval($promoteInfo['value']),'game_id' => intval($gameId),'status'=>$gameInfo[0]['game_status'],'create_time'=>time()]; + } + + } + M('sociaty_games','tab_')->addAll($dataList); + } + // $_REQUEST['apply_auth'] == 1 ? $this->success('开放全部会长权限成功') : $this->success('设置会长权限成功'); + } if ($_POST['game_score'] < 0 || $_POST['game_score'] > 5) { $this->error('游戏评分只能为0-5之间的数字!'); exit; @@ -419,7 +458,30 @@ class GameController extends ThinkController $data['icon_data'] = explode(',', $data['icon']); } - + $apply_auth = M('game','tab_')->where(['id'=>$id])->getField('apply_auth'); + $this->assign('apply_auth',$apply_auth); + $sociatyGames = M('sociaty_games','tab_')->where(['game_id'=>$id])->select(); + $sociatyGamesData = []; + if(!empty($sociatyGames)) { + foreach($sociatyGames as $key => $value) { + $sociatyGamesData[$key]['id'] = $value['id']; + if($value['promote_id'] == -1) { + $sociatyGamesData[$key]['promoteAccount'] = "官方渠道"; + }else { + $promoteAccount = M('promote','tab_')->where(['id'=>$value['promote_id']])->getField('account'); + $sociatyGamesData[$key]['promoteAccount'] = $promoteAccount; + } + $sociatyGamesData[$key]['create_time'] = date('Y-m-d H:i:s',$value['create_time']); + $applyStatus = M('apply','tab_')->field('id')->where(['game_id'=>$value['game_id'],'status'=>1])->select(); + if(empty($applyStatus)) { + $sociatyGamesData[$key]['isPromote'] = "否"; + }else { + $sociatyGamesData[$key]['isPromote'] = "是"; + } + } + } + $this->assign('sociatygames',$sociatyGamesData); + $data['introduction'] = str_replace("~~", "\r\n", $data['introduction']); $this->assign('data', $data); $this->assign('game_id', $id); @@ -430,6 +492,11 @@ class GameController extends ThinkController $this->m_title = '游戏列表'; $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Game/lists', 'status' => 1])->find()); $this->assign('game_ratio',$game_ratio); + $auth_group = M('AuthGroup')->where( array('status'=>array('egt','0'),'module'=>'admin','type'=>AuthGroupModel::TYPE_ADMIN) ) + ->getfield('id,id,title,rules'); + $empower_type = M('AuthGroup')->field('data_empower_type')->where(array('id'=>1))->find(); + $this->assign('data_empower_type', $empower_type['data_empower_type']); + $this->assign('auth_group', $auth_group); $this->display(); } } @@ -906,4 +973,92 @@ class GameController extends ThinkController //M('cp_game_ratio', 'tab_')->where("id=".$_POST['data_id'])->data(array("is_del"=>"1","update_time"=>time()))->save(); echo(json_encode(array("result"=>"1","desc"=>"删除成功"))); } + + + public function uploadExcel1() { + Vendor("PHPExcel.PHPExcel"); + $gid = $_REQUEST['game_id']; + if(@is_uploaded_file($_FILES['file']['tmp_name'])){ + $upfile = $_FILES["file"]; + $name = $upfile["name"]; + $type = $upfile["type"]; + $size = $upfile["size"]; + $tmp_name = $upfile["tmp_name"]; + $savePath = $_SERVER['DOCUMENT_ROOT'].__ROOT__.'/Uploads/Excel/'; + move_uploaded_file($tmp_name,$savePath.$name); + $file_name = $savePath.$name; + $error=$upfile["error"];//上传后系统返回的值 + $extension = strtolower( pathinfo($file_name, PATHINFO_EXTENSION) ); + if($extension == 'xlsx') { + $objReader = \PHPExcel_IOFactory::createReader('excel2007'); + }elseif($extension == 'csv') { + $objReader = \PHPExcel_IOFactory::createReader('csv'); + }else { + $objReader = \PHPExcel_IOFactory::createReader('Excel5');//创建读取实例 + } + $objPHPExcel = $objReader->load($file_name,$encode='utf-8');//加载文件 + $sheet = $objPHPExcel->getSheet(0); + $highestRow = $sheet->getHighestRow(); + $highestColumn = $sheet->getHighestColumn(); + $dataList = []; + $outPromote = []; //录入出错的会长 + $outGame = []; //录入出错的游戏 + $successAccount = []; + $keyPro = 0; + $keyGame = 0; + $keyData = 0; + for($i=2;$i<=$highestRow;$i++) + { + $promoteAccount = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue(); + $promoteInfo = M('promote','tab_')->field('id')->where(['account' => $promoteAccount ])->find(); + if($promote_id == -1) {$promoteInfo['account'] = "官方渠道"; } + if(empty($promoteInfo)) { + $outPromote[$keyPro]['promote_account'] = $promoteAccount; + $keyPro += 1; + }else { + $promote_id = $promoteInfo['id']; + } + $gameInfo = M('game','tab_')->field('game_name,game_status')->where(['id'=>$gid])->select(); + $time = time(); + $isSociaty = M('sociaty_games','tab_')->where(['promote_id'=>$promote_id,'game_id'=>$gid])->getField('id'); + if(empty($isSociaty) && !empty($gameInfo) && !empty($promoteInfo)) { + $dataList[$keyData] = ['promote_id'=>$promote_id,'game_id'=>$gid,'status'=>$gameInfo[0]['game_status'],'create_time'=>$time]; + $successAccount[$keyData] = ['account'=>$promoteAccount]; + $keyData += 1; + } + + } + $backData['outPromote'] = $outPromote; + $backData['datalist'] = $successAccount; + M('sociaty_games','tab_')->addAll($dataList); + $gameData['apply_auth'] = 2; + M('game','tab_')->where(['id'=>$gid])->save($gameData); + $this->ajaxReturn(json_encode($backData,TRUE)); + + } + } + + function getRootPromote() { + $promoteData = M('promote','tab_')->field('id as value,account as title')->where(array('level'=>1,'chain'=>'/'))->select(); + $data_president = M('AuthGroup')->field('data_president')->where(array('id'=>1))->find(); + + $promoteData = array_merge([0=>['value'=>'-1','title'=>'官方渠道']],$promoteData); + + $returnData = array('data_president'=>$data_president['data_president'],'list'=>$promoteData); + $this->ajaxReturn(json_encode($returnData)); + } + + //下载模板 + public function downloadDemo() { + $game_id = $_REQUEST['game_id']; + $game_name = M('game','tab_')->where(['id'=>$game_id])->getField('game_name'); + $data[] = [ + 'promoteid' => "官方渠道", + ]; + $field = array( + "promoteid"=>"会长账号", + ); + data2csv($data,'【'.$game_name.'】'.'模板',$field); + } + } diff --git a/Application/Admin/View/Game/edit.html b/Application/Admin/View/Game/edit.html index 714f470e7..fc6163e8f 100644 --- a/Application/Admin/View/Game/edit.html +++ b/Application/Admin/View/Game/edit.html @@ -44,6 +44,7 @@
说明:查看和编辑游戏的基础信息、下载设置、参数信息等。
@@ -923,7 +924,92 @@ + + + +会长账号 | +添加时间 | +是否已进行推广 | + +操作 | +aOh! 暂时还没有内容! | +
---|---|---|---|
{$data['promoteAccount']} | +{$data['create_time']} | +{$data['isPromote']} | +移除 | +该游戏未设置会长权限,现面对所有会长开放! | +