| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?php
- namespace App\Sports\Controller;
- use BaseController\Controller;
- use App\Sports\Model\St_zq_competition as ZQmatchModel;
- use App\Sports\Model\St_lq_competition as LQmatchModel;
- use App\Sports\Model\St_wq_competition as WQmatchModel;
- use App\Sports\Model\St_bq_competition as BQmatchModel;
- use App\Sports\Model\St_zq_odds as ZQoddsModel;
- use App\Sports\Model\St_lq_odds as LQoddsModel;
- use App\Sports\Model\St_wq_odds as WQoddsModel;
- use App\Sports\Model\St_bq_odds as BQoddsModel;
- use App\Sports\Model\St_zq_league as leagueModel;
- /**
- * Class Head
- * @package App\Sports\Controller
- * User: tank
- * Date: 2019/3/19
- */
- class Head extends Controller{
- public function init() {
- $this->commonFunction = C()->get('commonFunction');
- }
- /**
- * @throws \Exception
- * 返回首页球类列表
- */
- public function ballList (){
- $ret = lm('GameType', 'Sports')->select('id','game_name','game_code','game_ico_url')->where('status',1)->get();
- if(!empty($ret)) Render($ret, '1', lang('Tips','Sports')->get('success'));
- }
- //获取各状态下所有赛事数量
- public function typeList(){
- //获取所有未结束赛事
- $where = [
- ['status','<','2']
- ];
- $zqModel = $this->commonFunction->getModels('zq');
- $lqModel = $this->commonFunction->getModels('lq');
- $wqModel = $this->commonFunction->getModels('wq');
- $bqModel = $this->commonFunction->getModels('bq');
- $ZQmatchData = leagueModel::getLeagueMatchData($zqModel,$where,'zq');
- $LQmatchData = leagueModel::getLeagueMatchData($lqModel,$where,'lq');
- $WQmatchData = leagueModel::getLeagueMatchData($wqModel,$where,'wq');
- $BQmatchData = leagueModel::getLeagueMatchData($bqModel,$where,'bq');
- //处理空赔率赛事
- $ZQmatchData = $this->commonFunction->Handle_Odds_Null($ZQmatchData,$zqModel);
- $LQmatchData = $this->commonFunction->Handle_Odds_Null($LQmatchData,$lqModel);
- $WQmatchData = $this->commonFunction->Handle_Odds_Null($WQmatchData,$wqModel);
- $BQmatchData = $this->commonFunction->Handle_Odds_Null($BQmatchData,$bqModel);
- //合并所有球类赛事
- $matchAll = array_merge_recursive($ZQmatchData,$LQmatchData,$WQmatchData,$BQmatchData);
- //获取所有冠军盘口
- $where = [
- ['type','=',1],
- ['source','=',$this->source]
- ];
- $select = ['match_id','type'];
- $ZQoddsData = ZQoddsModel::getOddsData($where,$select)->toArray();
- $LQoddsData = LQoddsModel::getOddsData($where,$select)->toArray();
- $WQoddsData = WQoddsModel::getOddsData($where,$select)->toArray();
- $BQoddsData = BQoddsModel::getOddsData($where,$select)->toArray();
- //合并所有球类冠军盘口
- $oddsAll = array_merge_recursive($ZQoddsData,$LQoddsData,$WQoddsData,$BQoddsData);
- $StRollBall = [];
- $StSoon = [];
- $StToday = [];
- $StMorningPlate = [];
- $StStringScene = [];
- //按状态条件分装数组
- foreach ($matchAll as $kk=>$vv){
- //滚球
- if($vv['is_rollball'] == '1' and $vv['status'] < 2){
- $StRollBall[] = $vv;
- }
- //即将
- if($vv['status'] == '0' and $vv['match_date'] == date("Y-m-d") and $vv['match_time'] < date("H:i:s", strtotime("+2 hour")) and $vv['match_time'] > date("H:i:s", time())){
- $StSoon[] = $vv;
- }
- //今日
- if($vv['match_date'] == date("Y-m-d") and $vv['match_time'] > date("H:i:s", time()) and $vv['status'] < 2){
- $StToday[] = $vv;
- }
- //早盘
- if($vv['is_morningplate'] == 1 and $vv['us_time'] > $this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4) and $vv['status'] < 2 and $vv['match_date'] > date("Y-m-d")){
- $StMorningPlate[] = $vv;
- }
- //串场
- if($vv['is_stringscene'] == 1 and $vv['us_time'] > $this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4) and $vv['status'] < 2){
- $StStringScene[] = $vv;
- }
- }
- //获取所有状态
- $type = lang('GameTypes','Sports')->getAll();
- foreach ($type as $k=>$v){
- switch ($v['type_code']) {
- case 'StRollBall'://滚球
- $type[$k]['matchNum'] = count($StRollBall);
- break;
- case 'StSoon'://即将
- $type[$k]['matchNum'] = count($StSoon);
- break;
- case 'StToday'://今日
- $type[$k]['matchNum'] = count($StToday);
- break;
- case 'StMorningPlate'://早盘
- $type[$k]['matchNum'] = count($StMorningPlate);
- break;
- case 'StStringScene'://串场
- $type[$k]['matchNum'] = count($StStringScene);
- break;
- case 'StChampion'://冠军
- $type[$k]['matchNum'] = count($oddsAll);
- break;
- default:
- throw new \Exception(Render([], '10002', lang('Tips', 'Sports')->get('PARAM_ERROR')));
- }
- }
- Render($type, '1', lang('Tips','Sports')->get('success'));
- }
- }
|