rankingService = new RankingService(); $this->leagueRound = new Leagueround(); $this->leagueService = new LeagueService(); $this->leagueClubIntegral = new LeagueClubIntegral(); $this->leagueIntegral = new LeagueIntegral(); } public function get_match_final(){ header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Expose-Headers: *'); //服务器 headers 白名单,可以让客户端进行访问 header('Access-Control-Allow-Headers: *'); $match_id = $this->request->param('match_id'); $res = $this->leagueIntegral->field('number,player_id,player_name,gender,name_short,birthday')->where('match_id',$match_id)->order('number')->limit(64)->select(); if(empty($res)){ $res['code'] = 0; $res['data'] = ''; $res['msg'] = "最终成绩还未产生"; // $this->error('最终成绩还未产生'); }else{ foreach ($res as &$v){ if($v['birthday'] >= '2006-12-31'){ $v['is_young'] = '是'; }else{ $v['is_young'] = '否'; } } } return json($res); } public function judge_league(){ $Archives = new Archives(); $match_id = $this->request->param('match_id'); $arc_res = $Archives->where('id',$match_id)->find(); if($arc_res['model_id'] == 6){ $arr = 'league'; return json($arr); }elseif($arc_res['model_id'] == 2){ $arr = 'saishi'; return json($arr); }else{ $arr = 'error'; return json($arr); } } public function get_club_cert(){ $Club = new Club(); $Players= new Players(); $User = new User(); $certificateService = new CertificateService(); $match_id = $this->request->param('match_id'); $club_id = $this->request->param('club_id'); $club_info = $Club->field('id,name_short,competition_slogan,user_id,province,city,district,logo')->where('id',$club_id)->find(); // var_dump($user_info['member_number']);exit; $integral_club_res = $this->leagueClubIntegral->where(['match_id' => $match_id,'club_id'=>$club_id])->find(); // var_dump($integral_res);exit; if(empty($integral_club_res)) $this->error('暂未查询到您的成绩'); $club_info['number'] = $integral_club_res['number']; $club_info['grade'] = $integral_club_res['sum_grade']; // var_dump($player_info);exit; $row['club'] = $club_info; $addonproducts = db("cms_addonproducts"); $row['endtime'] = $addonproducts->where("id", $match_id)->field("match_end_time, match_start_time, stime, etime, club_course_poster, is_open_course")->find(); $row['certificate_number']['certificate_number'] = $certificateService->getCertificate( [ 'match_id' => $match_id, 'club_id' => $club_id, 'member_id' => $club_info['user_id'], 'player_id' => 0, ] ); if (!empty($row)) { $res['code'] = 1; $res['data'] = $row; $res['msg'] = "获取成功"; } else { $res['code'] = 0; $res['data'] = []; $res['msg'] = "数据为空"; } return json($res); } public function get_cert(){ $Club = new Club(); $Players= new Players(); $User = new User(); $certificateService = new CertificateService(); $match_id = $this->request->param('match_id'); $player_id = $this->request->param('player_id'); $player_info = $Players->field('id,member_id,age,gender,real_name,player_pic,member_id')->where('id',$player_id)->find(); $user_info = $User->where('id',$player_info['member_id'])->find(); // var_dump($user_info['member_number']);exit; $integral_res = $this->leagueIntegral->where(['match_id' => $match_id,'player_id'=>$user_info['member_number']])->find(); // var_dump($integral_res);exit; if(empty($integral_res)) $this->error('暂未查询到您的成绩'); $player_info['member_number'] = $user_info['member_number']; $player_info['number'] = $integral_res['number']; $player_info['grade'] = $integral_res['grade']; // if(empty($integral_res)) $this->error('未查询到成绩'); // var_dump($integral_res);exit; $club_info = $Club->field('id,name_short')->where('id',$integral_res['club_id'])->find(); // var_dump($player_info);exit; $row['club'] = $club_info; $row['player'] = $player_info; $addonproducts = db("cms_addonproducts"); $row['endtime'] = $addonproducts->where("id", $match_id)->field("match_end_time, match_start_time, stime, etime, course_poster, is_open_course")->find(); $row['certificate_number']['certificate_number'] = $certificateService->getCertificate( [ 'match_id' => $match_id, 'player_id' => $player_id, 'member_id' => $player_info['member_id'], 'club_id' => 0, ] ); if (!empty($row)) { $res['code'] = 1; $res['data'] = $row; $res['msg'] = "获取成功"; } else { $res['code'] = 0; $res['data'] = []; $res['msg'] = "数据为空"; } return json($res); } //队伍总积分排行榜 public function club_allintegral(){ header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Expose-Headers: *'); //服务器 headers 白名单,可以让客户端进行访问 header('Access-Control-Allow-Headers: *'); $club = new Club(); // 已参赛 $all_club = $this->leagueClubIntegral->group('club_id')->select(); $arr = $arrs = []; foreach ($all_club as $value){ $arr = $this->leagueClubIntegral->field('sum(sum_grade) as all_grade,club_id,club_name')->where('club_id',$value['club_id'])->select(); $club_info = $club->field('logo,name_short')->where('id',$value['club_id'])->find(); $arr['club'] = $club_info; $arrs[] = $arr; } // 未参赛的俱乐部 $res = $club->where('status',9)->group('name_short')->where('id','NOT IN',function($query){ $query->table('peewee_league_club_integral')->group('club_id')->field('club_id'); })->select(); $arr1 = $arr1s = []; foreach ($res as $vvv){ $arr1[0] = array('all_grade'=>0,'club_id'=>$vvv['id'],'club_name'=>$vvv['name']); $arr1['club'] = array('logo'=>$vvv['logo'],'name_short'=>$vvv['name_short']); $arr1s[] = $arr1; } $volume = []; foreach ($arrs as $key => $row) { $volume[$key] = $row[0]['all_grade']; // $edition[$key] = $row['edition']; } array_multisort($volume, SORT_DESC, $arrs); $new_arr = array_merge($arrs,$arr1s); $rank = 1; $i = 0;// 当前排名 $all_grade = null; // 当前分数 foreach ($new_arr as $k => &$value) { if ($all_grade != $value[0]['all_grade']) { $rank = $rank + $i; $i = 0; } $value['integral_sort'] = $rank; $all_grade = $value[0]['all_grade']; $i++; } // var_dump(count($new_arr));exit; return json($new_arr); } //队伍分站赛积分 public function club_integral($match_id,$club_name=null){ header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Expose-Headers: *'); //服务器 headers 白名单,可以让客户端进行访问 header('Access-Control-Allow-Headers: *'); $club = new Club(); //正常前端请求 if(empty($club_name)){ $match_id = $this->request->param('match_id'); } $res = $this->leagueClubIntegral->where('match_id',$match_id)->order('sum_grade desc')->select(); // var_dump($res);exit; foreach ($res as &$val){ $club_info = $club->field('logo,name_short')->where('id',$val['club_id'])->find(); $val['club'] = $club_info; } // 未参赛的俱乐部 $res_not = $club->where('status',9)->group('name_short')->where('id','NOT IN',function($query) use($match_id){ $query->table('peewee_league_club_integral')->where('match_id',$match_id)->group('club_id')->field('club_id'); })->select(); $arr1 = $arr1s = []; foreach ($res_not as $vvv){ $arr1 = array('sum_grade'=>0,'club_id'=>$vvv['id'],'club_name'=>$vvv['name']); $arr1['club'] = array('logo'=>$vvv['logo'],'name_short'=>$vvv['name_short']); $arr1s[] = $arr1; } $new_arr = array_merge($res,$arr1s); $rank = 1; $i = 0;// 当前排名 $all_grade = null; // 当前分数 // var_dump($res);exit; foreach ($new_arr as $k => &$value) { // var_dump($value['sum_grade']);exit; if ($all_grade != $value['sum_grade']) { $rank = $rank + $i; $i = 0; } $value['integral_sort'] = $rank; $all_grade = $value['sum_grade']; $i++; } //俱乐部详情分站赛排名 if(!empty($club_name)){ foreach ($new_arr as $zhi){ if($zhi['name_short'] == $club_name){ $new_arr = $zhi; break; } } return $new_arr; } // var_dump(count($new_arr));exit; return json($new_arr); } //飞手总积分排行 public function player_allintegral(){ header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Expose-Headers: *'); //服务器 headers 白名单,可以让客户端进行访问 header('Access-Control-Allow-Headers: *'); $club = new Club(); $Players= new Players(); $User = new User(); $LeagueIntegral = new LeagueIntegral(); $gender= $this->request->param('gender'); $birthday = $this->request->param('birthday'); $where = []; if(!empty($gender)){ $where['gender'] = '女'; } if(!empty($birthday)){ $where['birthday'] = ['>','2006-12-31']; } $all_player = $LeagueIntegral->group('player_id')->where($where)->select(); $arr = $arrs = []; foreach ($all_player as $value){ $arr = $LeagueIntegral->field('sum(grade) as all_grade,player_id,player_name')->where('player_id',$value['player_id'])->select(); $user_info = $User->where('member_number',$value['player_id'])->find(); $player_info = $Players->field('player_pic')->where('member_id',$user_info['id'])->find(); $club_info = $club->field('name_short')->where('id',$value['club_id'])->find(); $arr['player'] = $player_info; $arr['club'] = $club_info; $arrs[] = $arr; } $volume = []; foreach ($arrs as $key => $row) { $volume[$key] = $row[0]['all_grade']; // $edition[$key] = $row['edition']; } // var_dump($volume);exit; array_multisort($volume, SORT_DESC, $arrs); // $arr = $this->arraySort($arr,'all_grade'); // var_dump($arr);exit; $rank = 1; $i = 0;// 当前排名 $all_grade = null; // 当前分数 foreach ($arrs as $k => &$value) { if ($all_grade != $value[0]['all_grade']) { $rank = $rank + $i; $i = 0; } $value['integral_sort'] = $rank; $all_grade = $value[0]['all_grade']; $i++; } return json($arrs); } //飞手分站赛积分 public function player_integral($match_id,$player_id=null){ header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Expose-Headers: *'); //服务器 headers 白名单,可以让客户端进行访问 header('Access-Control-Allow-Headers: *'); $club = new Club(); $Players= new Players(); $User = new User(); $LeagueIntegral = new LeagueIntegral(); if(empty($player_id)){ $match_id = $this->request->param('match_id'); } $gender= $this->request->param('gender'); $birthday = $this->request->param('birthday'); $where = []; if(!empty($gender)){ $where['gender'] = '女'; } if(!empty($birthday)){ $where['birthday'] = ['>','2006-12-31']; } $res = $LeagueIntegral->where('match_id',$match_id)->where($where)->select(); foreach ($res as &$val){ $club_info = $club->field('name_short')->where('id',$val['club_id'])->find(); $user_info = $User->where('member_number',$val['player_id'])->find(); $player_info = $Players->field('player_pic')->where('member_id',$user_info['id'])->find(); $val['club'] = $club_info; $val['player'] = $player_info; } $rank = 1; $i = 0;// 当前排名 $all_grade = null; // 当前分数 // var_dump($res);exit; foreach ($res as $k => &$value) { // var_dump($value['sum_grade']);exit; if ($all_grade != $value['grade']) { $rank = $rank + $i; $i = 0; } $value['number'] = $rank; $all_grade = $value['grade']; $i++; } if(!empty($player_id)){ foreach ($res as $zhi){ if($zhi['player_id'] == $player_id){ $res = $zhi; break; } } return $res; } // var_dump($all_club);exit; return json($res); } }