瀏覽代碼

处理移动端首页体育模块数据异常

彭俊 6 年之前
父節點
當前提交
4d567e81c5
共有 1 個文件被更改,包括 22 次插入16 次删除
  1. 22 16
      Application/Sports/Controller/Sports.php

+ 22 - 16
Application/Sports/Controller/Sports.php

@@ -8,6 +8,10 @@ use BaseController\Controller;
  * Date: 2019/3/21
  */
 class Sports extends Controller{
+    public function init() {
+        $this->commonFunction =  C()->get('commonFunction');
+
+    }
 
     /**
      * 首页体育-球类比赛数据方法
@@ -22,7 +26,7 @@ class Sports extends Controller{
         $data['name'] = lm('GameType','Sports')->where('game_code',$game_code)->value('game_name');
         $data['game_code'] = $game_code;
         //===查询该球类Models===
-        $getModels = getModels($game_code);
+        $getModels = $this->commonFunction->getModels($game_code);
         $st_league = $getModels['model_league'];
         $st_competition = $getModels['model_match'];
         //查询足球早盘其他球的所有赛事
@@ -34,12 +38,11 @@ class Sports extends Controller{
                 ->join($st_league,$st_league.'.id',$st_competition.'.lg_id')
                 ->where(getState('StToday',$st_competition))
                 ->where([
-//                    [$st_competition.'.source',$this->source['source']],
                     [$st_competition.'.home_team','<>',null],
                     [$st_competition.'.guest_team','<>',null],
                     [$st_league.'.name_chinese','<>',null],
                     [$st_competition.'.status','<',2],
-                    [$st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4)]
+                    [$st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4)]
                 ])
                 ->count('*');
             } else {
@@ -50,14 +53,13 @@ class Sports extends Controller{
                     ->join($st_league,$st_league.'.id',$st_competition.'.lg_id')
                     ->where([[$st_competition.'.status', '<', '2']])
                     ->where([
-//                        [$st_competition.'.source',$this->source['source']],
                         [$st_competition.'.home_team','<>',null],
                         [$st_competition.'.guest_team','<>',null],
                         [$st_league.'.name_chinese','<>',null],
                         [$st_competition.'.status','<',2],
-                        [$st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4)]
+                        [$st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4)]
                     ])
-                    ->where($st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4))
+                    ->where($st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4))
                     ->count('*');
             }
         //查询正在进行的和未开始的球类比赛
@@ -65,42 +67,47 @@ class Sports extends Controller{
             ->join($st_league,$st_league.'.id',$st_competition.'.lg_id')
             ->select($st_competition.'.id as match_id',$st_competition.'.home_team',$st_competition.'.guest_team',$st_competition.'.match_date',$st_competition.'.match_time')
             ->where([[$st_competition.'.status','<',2]])
-            ->where($st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4))
+            ->where($st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4))
             ->where($where)
             ->where([
-//                [$st_competition.'.source',$this->source['source']],
                 [$st_competition.'.home_team','<>',null],
                 [$st_competition.'.guest_team','<>',null],
                 [$st_league.'.name_chinese','<>',null],
                 [$st_competition.'.status','<',2],
-                [$st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4)]
+                [$st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4)]
             ])
             ->limit($limit_mt)
             ->get();
+
+        //===获取当前赛事是否有赔率,如果没有则去除===
+        $data['match'] = $this->commonFunction->Handle_Odds_Null($data['match'],$getModels);
+
         if(!empty($data['match'])){
             $data['match'] = $data['match']->toarray();
         }
 //        获取正在进行的和未开始联赛
         $data['league'] = lm($st_competition,"Sports")
             ->join($st_league,$st_league.'.id',$st_competition.'.lg_id')
-            ->select($st_league.'.id as lg_id',$st_league.'.name_chinese')
+            ->select($st_league.'.id as lg_id',$st_league.'.name_chinese',$st_competition.'.id as match_id')
             ->where([[$st_competition.'.status','<',2]])
-            ->where($st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4))
+            ->where($st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4))
             ->where($where)
             ->where([
-//                [$st_competition.'.source',$this->source['source']],
                 [$st_competition.'.home_team','<>',null],
                 [$st_competition.'.guest_team','<>',null],
                 [$st_league.'.name_chinese','<>',null],
                 [$st_competition.'.status','<',2],
-                [$st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4)]
+                [$st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4)]
             ])
             ->limit($limit_lg)
             ->distinct($st_league.'id')
             ->get();
+
+        //===获取当前赛事是否有赔率,如果没有则去除===
+        $data['league'] = $this->commonFunction->Handle_Odds_Null($data['league'],$getModels);
+
         if (!empty($data['league'])) {
             $data['league'] = $data['league']->toarray();
-//            $data['league'] = array_column($data['league'],'lg_id');
             foreach($data['league'] as $k => $v){
                 //统计当前联赛下的联赛
                 $data['league'][$k]['game_code'] = $game_code;
@@ -110,11 +117,10 @@ class Sports extends Controller{
                     ->where('lg_id',$v['lg_id'])
                     ->where($where)
                     ->where([
-//                        [$st_competition.'.source',$this->source['source']],
                         [$st_competition.'.home_team','<>',null],
                         [$st_competition.'.guest_team','<>',null],
                         [$st_competition.'.status','<',2],
-                        [$st_competition.'.us_time','>',qgmdate('Y-m-d H:i:s', '', -4)]
+                        [$st_competition.'.us_time','>',$this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4)]
                     ])
                     ->count('*');
             }