AjaxReturn($result); } /** * 获取区服列表 * @param $game_id */ public function getServer($game_id=""){ $map = []; if (!empty($game_id)) { $map['game_id'] = $game_id; } $data = M('server','tab_')->where($map)->select(); $this->AjaxReturn($data); } /** *获取充值游戏区服 * @param game_id */ public function getSpendServer($game_id="",$type=1, $game_type='', $game_name=''){ if($type==2){ $game = M('Game','tab_')->field('id')->where(['game_name'=>$game_id])->find(); $game_id = $game['id']; } $map['game_id'] = $game_id; $map['server_name'] = array('neq',''); $data = M('Spend','tab_')->field('server_name')->where($map)->group('server_name')->select(); $this->AjaxReturn($data); } /** * 获取用户注册区服 */ public function getUserServer($game_id="",$type=1){ if($type==2){ $game = M('Game','tab_')->field('id')->where(['game_name'=>$game_id])->find(); $game_id = $game['id']; } $map['game_id'] = $game_id; $map['server_name'] = array('neq',''); $data = M('UserPlayInfo','tab_')->field('server_name')->where($map)->group('server_name')->select(); $this->AjaxReturn($data); } public function getGmeServer($game_name="", $sdk_version="") { $game_map = []; if ($game_name) { $game_map['relation_game_name'] = $game_name; }else { $this->AjaxReturn([]); } if ($sdk_version) { $map['server_version'] = $game_map['sdk_version'] = $sdk_version; }else { // $this->AjaxReturn([]); } $game = M("Game", 'tab_')->where($game_map)->getField('id', true); // 获取版本信息 $map = []; if ($game) { $map['game_id'] = ['in', $game]; } else { $map['game_id'] = ['in', [-1]]; } $data = M('Server', 'tab_')->field('id, server_name, server_id')->where($map)->group('server_name')->select(); $this->AjaxReturn($data); } public function getGameVersion($game_name="") { if ($game_name) { $map['relation_game_name'] = $game_name; }else { $this->AjaxReturn([]); } $data = M('Game','tab_')->field('sdk_version')->where($map)->select(); $this->AjaxReturn($data); } /** * 获取游戏折扣 * @param $game_id */ public function getGameDiscount($game_id){ $data = M('Game','tab_')->find($game_id); $res['discount'] = $data['discount']; $this->AjaxReturn($res); } public function getUserPlayGameName($user_id=0){ $map['user_account'] = $user_id; $data = M("UserPlay","tab_")->field("game_id,game_name,bind_balance")->where($map)->group('user_id,game_id')->select(); $this->AjaxReturn($data); } /** *修改游戏字段 * @param int game_id * @param string $fields 要修改的字段名称 * @param string $value 要修改的字段的值 * @author 小纯洁 */ public function setGameDataField($game_id=0,$fields='',$value=''){ $map['id'] = $game_id; $result = M('Game','tab_')->where($map)->setField($fields,$value); if($result !== false){ if($fields != "game_status"){ $game = M('Game','tab_')->where($map)->find(); $map1['relation_game_name'] = $game['relation_game_name']; M('Game','tab_')->where($map1)->setField($fields,$value); } $data = array('status' =>1 ,'data'=>$result ); $this->AjaxReturn($data); }else{ $data = array('status' =>0 ,'data'=>$result ); $this->AjaxReturn($data); } } /** *获取推广员申请通过的游戏 */ public function getPromoteApplyGame($promote_id = 0){ if($promote_id == 0){ $return_msg = array('status'=>0,'info'=>'请选择推广员'); $this->AjaxReturn($return_msg); } $fields = "tab_game.id,tab_game.game_name,discount,tab_apply.promote_id,tab_apply.promote_account"; $data = D('Apply')->getPromoteGame($promote_id,$fields); if(empty($data)){ $return_msg = array('status'=>0,'info'=>'该推广员没有已审核的游戏'); $this->AjaxReturn($return_msg); } else{ $return_msg = array('status'=>1,'info'=>'成功','data'=>$data); $this->AjaxReturn($return_msg); } } public function getPromotersByLevel() { $level = I('level'); if (!$level) { return $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>[]]); } $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevel($level)]); } /** * 根据公司id获取会长 */ public function getPromotersByCompanyid($company_id = -1) { $company_id = I('company_id'); $data = M("Promote","tab_")->field("id,account,nickname,company_id"); if($company_id == -1){ $data = $data->where("level = '1'")->select(); }else{ $data = $data->where("company_id = '{$company_id}' and level = '1'")->select(); } foreach ($data as &$item) { $item['nickname'] = $item['account'] . ($item['nickname'] ? "({$item['nickname']})" : ""); } if($company_id <= 0){ array_unshift($data,["id"=>0,"nickname"=>C('OFFICIEL_CHANNEL'),"account"=>C('OFFICIEL_CHANNEL'),"company_id"=>0]); } $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$data]); } public function getPromotersByLevelOther() { $level = I('level'); if (!$level) { return $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>[]]); } $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevelOther($level)]); } public function getGameList($type=0, $sdk_type=0) { $game = M("game","tab_"); if(MODULE_NAME == 'Admin') { $map['game_status'] = array('in','0,1'); } else { $map['game_status'] = 1; } if(!empty($type)){ /*$map['developers'] = $type == 1? array('EQ',0):array('GT',0);*/ /* $map['game_status'] = $type == 1? 1:array('in','0,1'); */ switch($type) { case 1: $map['developers'] = array('EQ',0); break; case 2: $map['developers'] = array('EGT',0); break; default: $map['developers'] = array('GT',0); } }else{ $map['apply_status'] = 1; $map['online_status'] = 1; } if (empty($sdk_type)) { $lists = $game->field('id,game_name,sdk_version,relation_game_name,icon,relation_game_id,game_status,display_site,dow_num')->where($map)->group('relation_game_name')->order("id asc")->select(); } else { $map['sdk_version'] = $sdk_type; $lists = $game->field('id,game_name,sdk_version,relation_game_name,icon,relation_game_id,game_status,display_site,dow_num')->where($map)->order("id asc")->select(); } $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$lists]); } public function getDownstreamData() { $withdraw_number = $_REQUEST['withdraw_number']; if ($withdraw_number) { $map['widthdraw_number'] = $withdraw_number; } if ($_REQUEST['company_id']) { $map['company_id'] = $_REQUEST['company_id']; } $data = M("withdraw","tab_") ->field("widthdraw_number,promote_account,tab_promote_company.id as company_id,company_name,tab_withdraw.settlement_type,mobile_phone,real_name,tab_promote.bank_card,account_openin,tab_promote.address,game_ratio,bank_account") ->join("left join tab_promote on tab_withdraw.promote_id=tab_promote.id") ->join("left join tab_promote_company on tab_promote.company_id=tab_promote_company.id") ->where($map) ->find(); if ($data['settlement_type']==1) { $data['settlement_type'] = '周结订单'; } else if($data['settlement_type']==2){ $data['settlement_type'] = '月结订单'; } else { $data['settlement_type'] = '补点订单'; } $data['game_ratio'] = json_decode($data['game_ratio'],true); $getStatementData =M('statement','tab_')->where(['ext_field'=>$withdraw_number])->find(); $statementData = json_decode($getStatementData['statement_info'],true); $reward = 0; $forfeit = 0; if ($statementData) { $data['sum'] = $getStatementData['statement_money']; $data['pay_amount'] = $getStatementData['pay_amount']; $data['reward'] = 0; $data['forfeit'] = 0; $handleStatementData = []; foreach ($statementData as $key=>$sv) { if ($sv['game_id']) { $nowVal['selle_ratio'] = $sv['second_ratio']; $nowVal['sum_amount'] = $sv['pay_amount']; $nowVal['begin_time'] = $sv['statement_begin_time']; $nowVal['end_time'] = $sv['statement_end_time']; $nowVal['game_name'] = $sv['game_name']; $nowVal['fax_ratio'] = $sv['fax_ratio']; $nowVal['sum'] = $sv['sum_money']; $handleStatementData[$sv['game_id']][] = $nowVal; } else { if ($sv['statement_type'] == 2) { $data['reward'] += $sv['sum_money']; } else if ($sv['statement_type'] == 1) { $data['forfeit'] += $sv['sum_money']; } } } // dump($handleStatementData);die(); $first_party_info = json_decode($getStatementData['first_party_info'],true); $second_party_info = json_decode($getStatementData['second_party_info'],true); $data['game_ratio'] = $handleStatementData; $data['company_name'] = $second_party_info['partner']; $data['mobile_phone'] = $second_party_info['link_phone']; $data['bank_card'] = $second_party_info['bank_account']; $data['account_openin'] = $second_party_info['opening_bank']; $data['settlement_type'] = $second_party_info['settlement_type']; $data['address'] = $second_party_info['address']; $data['real_name'] = $second_party_info['link_man']; $data['bank_account_name'] = $second_party_info['bank_account_name']; $data['settlement_type_value'] = $getStatementData['settlement_type']; $data['settlement_type_value'] = $getStatementData['settlement_type']; $data['invoice_item'] = $second_party_info['invoice_item']; $data['invoice_type'] = $second_party_info['invoice_type']; $data['jfCompany'] = $first_party_info['jfCompany']; $data['jfPerson'] = $first_party_info['jfPerson']; $data['jfTel'] = $first_party_info['jfTel']; if ($getStatementData['settlement_type']=='周结订单') { $data['settlement_type_value'] = 1; } else if ($getStatementData['settlement_type']=='月结订单') { $data['settlement_type_value'] = 2; } else { $data['settlement_type_value'] = 3; } // dump($statementData);die(); } else { $data['address'] = json_decode($data['address'],1); // dd($data['address']); $address = ''; if (is_array($data['address'])) { foreach($data['address'] as $key => $value) { $address = $address.' '.$value; } } $data['address'] = $address; $gameStr = []; $game_ratio = []; if (is_array($data['game_ratio'])) { foreach ($data['game_ratio'] as $key => &$value) { foreach ($value as $k => &$v) { $v['game_name'] = substr(get_gamename($key),0,strpos(get_gamename($key), '(')); if (!in_array($v['game_name'],$gameStr)) { array_push($gameStr,$v['game_name']); } else { // var_dump($key); if (!$game_ratio[$v['game_name']]) { $game_ratio[$v['game_name']] = $v; } else { $game_ratio[$v['game_name']]['sum_amount'] += $v['sum_amount']; } unset($value[$k]); } } if (!$value) { unset($data['game_ratio'][$key]); } } // dump($data['game_ratio']);die(); foreach ($data['game_ratio'] as $key => &$value) { foreach ($value as $k => &$v) { $startTime = strtotime($v['begin_time']); $endTime = strtotime($v['end_time']); $rewardData = M('reward_record','tab_') ->field("sum(tab_reward_record.money) as money,reward_type") ->join("left join (select * from tab_game group by relation_game_id)tab_game on tab_reward_record.relation_game_id=tab_game.relation_game_id") ->where(['company_type'=>2,'relation_game_name'=>['like',"%{$v['game_name']}%"],'company_id'=>$data['company_id'],'reward_time'=>['between',[$startTime,$endTime]]]) ->group('reward_type') ->select(); foreach ($rewardData as $key => $valReward) { if ($valReward['reward_type']==1) { $reward = $reward + $valReward['money']; } else if ($valReward['reward_type']==2) { $forfeit = $forfeit + $valReward['money']; } } // dump($reward);die(); if ($game_ratio[$v['game_name']]) { $v['sum_amount'] = number_format($v['sum_amount'] + $game_ratio[$v['game_name']]['sum_amount'],2,'.',''); } } } } $data['reward'] = $reward; $data['forfeit'] = $forfeit; $yfData = M('tool','tab_')->where(['name'=>'company_info'])->find(); $yfData = json_decode($yfData['config'],true); $data['yfpartner'] = $yfData['partner']; $data['yflink_man'] = $yfData['link_man']; $data['yflink_phone'] = $yfData['link_phone']; } $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$data]); } function getPromoteCompanyList() { $map = []; if ($_REQUEST['withdraw_number']) { $map['widthdraw_number'] = $_REQUEST['withdraw_number']; } // var_dump($map);die(); if ($_REQUEST['company_id']) { $map['_string'] = "tab_promote.company_id={$_REQUEST['company_id']} and ext_field is null"; } // $map['widthdraw_number'] = ['neq','']; $data = M("withdraw","tab_") ->field("widthdraw_number,promote_account,tab_promote_company.id as company_id,tab_promote_company.company_name,tab_withdraw.settlement_type,mobile_phone,real_name,tab_promote.bank_card,account_openin,tab_promote.address,game_ratio,bank_account") ->join("left join tab_promote on tab_withdraw.promote_id=tab_promote.id") ->join("left join tab_promote_company on tab_promote.company_id=tab_promote_company.id") ->join("left join tab_statement as statement on tab_withdraw.widthdraw_number = statement.ext_field") ->where($map) // ->where("widthdraw_number is not NULL") ->select(); $this->ajaxReturn(['data'=>$data]); // return $data; } public function addfile() { $this->meta_title = '文档添加'; $template = I('t'); $template = $template ?: 'Partner/addfile'; return $this->display($template); } //处理上传图片 public function saveFile() { $path = '/Uploads/'; $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 0 ;// 设置附件上传大小 $upload->exts = '';// 设置附件上传类型 $upload->rootPath = '.'.$path; // 设置附件上传根目录 $upload->savePath = ''; // 设置附件上传(子)目录 // 上传文件 $info = $upload->upload(); // dump($info); if(!$info) {// 上传错误提示错误信息 $msg = $upload->getError(); $array= array('status' => 0, 'info' => $msg); }else{// 上传成功 $array=array( "info"=>"上传成功", "status"=>1, "file_path"=>$path.$info['file']['savepath'].$info['file']['savename'], "file_name"=>$_POST['file_name'], "file_type"=>$_FILES['file']['type'], "file_size"=>$_FILES['file']['size'], "upload_time"=>date("Y-m-d H:i:s",time()) ); } $this->ajaxReturn($array); } //删除图片 public function delFile() { $id = $_REQUEST['id']; $index = $_REQUEST['index'] ?: false; $file_path = $_REQUEST['file_path'] ?: false; if($id == 0){ //未存入数据库,不用管 unlink("./".$file_path); $this->ajaxReturn(array( 'status' => 1, 'info' => "删除成功" )); } # code... } /** *获取上下游公司 */ public function getCompanyList() { $company_type = I('company_type');//公司类型 if ($company_type ==1) {//上游公司 $data = M('partner','tab_')->field('id, partner as name,1 as type')->where(['status' => 1])->select(); } elseif ($company_type ==2) {//下游公司 $data = M('promote_company','tab_')->field('id, company_name as name,2 as type')->where(['status' => 1])->select(); } else { $partner = M('partner','tab_')->field('id, partner as name,1 as type')->where(['status' => 1])->select(); $promote_company = M('promote_company','tab_')->field('id, company_name as name, 2 as type')->where(['status' => 1])->select(); $data = array_merge($partner, $promote_company); } $this->ajaxReturn($data); } /** *获取下游公司 */ public function getPromoteCompany() { $company_belong = I('company_belong'); if ($company_belong == 1) { $map['company_belong'] = ['in','1,2']; } else { $map['company_belong'] = $company_belong; } $data = M('promote_company','tab_') ->field('id, company_name as name,game_ids') ->where(['status' => 1]) ->where($map) ->select(); $this->ajaxReturn($data); } /** * 获取下游公司游戏列表 */ public function getPromoteGameList() { $company_id = $_REQUEST['company_id']; $spendData = M("spend use index(user_id)","tab_") ->field("game_id") ->join("left join tab_promote on tab_spend.promote_id=tab_promote.id") ->where([ 'company_id'=>$company_id, 'pay_status'=>1, 'pay_way'=>['egt',0] ]) ->group("game_id") ->select(); if ($spendData) { $map['id'] = ['in',array_column($spendData,"game_id")]; } else { $this->ajaxReturn([]); } $data = M("game","tab_") ->field("relation_game_id,relation_game_name") ->where($map) ->group("relation_game_id") ->select(); $this->ajaxReturn($data); } /** * 操作日志 * option: * array( * op_type=>操作类型 1:编辑 2:删除 3:下载, * op_name=>操作说明 例如:编辑,删除,锁定等, * url=>需要跳转的url 添加去列表加唯一id,编辑直接去编辑页面,下载可以重新下载(新开页面), * key=>关键词:用户的账号,游戏的名词等, * menu=>非必须,菜单目录,不存在的话按控制器寻找 * ) * get: 页面get参数 * * return: 0:错误 1:成功 */ public function addOperationLog() { $Get = $_GET['get']; $option = $_GET['option']; if (!$option['key']) { $option['key'] = getNowDate(); } if (!$option['url']) { $this->ajaxReturn(['code'=>0]); } if (!$option['menu']) { $this->ajaxReturn(['code'=>0]); } if (!$option['op_name']) { $this->ajaxReturn(['code'=>0]); } addOperationLog(['op_type'=>$option['op_type'],'key'=>$option['key'],'op_name'=>$option['op_name'],'url'=>U($option['url'],$Get),'menu'=>$option['menu']]); $this->ajaxReturn(['code'=>1]); } public function getPromoteChildren($pid) { $info = M('promote', 'tab_')->where(['id'=>$pid])->find(); if (empty($info)) return $this->ajaxReturn(['code'=>1, 'data'=>[]]); $result = M('promote', 'tab_')->field("id,account,nickname")->where(['parent_id'=>$pid])->select(); $this->ajaxReturn(['code'=>1, 'data'=>$result]); } public function getPromotersByLevelResource() { $level = I('level'); if (!$level) { // return $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>[]]); $level = ''; } $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevelResource($level)]); } public function getPromotes() { $companyId = I('company_id', 0); $companyMap = ['_string' => '1=1']; if ($companyId > 0) { $companyMap['company_id'] = $companyId; } $promotes = M('promote', 'tab_')->where($companyMap)->field(['id', 'account'])->select(); return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['promotes' => $promotes]]); } public function getAdminsByDepartment() { $departmentId = I('department_id', 0); if ($departmentId <= 0) { $departmentId = null; } $admins = getMarketAdmin($departmentId); return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['admins' => $admins]]); } }