Selaa lähdekoodia

修改即将状态下赛事数据接口

彭俊 6 vuotta sitten
vanhempi
commit
dcb7130b64

+ 18 - 0
Application/Sports/Model/St_bq_odds.php

@@ -25,4 +25,22 @@ class St_bq_odds extends Model
         $oddsData = self::select($select)->where($where)->groupby("match_id","type")->get();
         return $oddsData;
     }
+
+    //获取棒球赛事下 默认赔率数据
+    public static function getMatchOdds($source){
+        $oddsData = self::select('match_id','id','p_code','odds_code','status','odds','condition','sort','odds_only')
+            ->where($source)
+            ->where(
+                function($query){
+                    $query->where('odds_code','capot_home')
+                        ->orWhere(function($query){
+                            $query->where('odds_code','capot_guest');
+                        });
+                }
+            )
+            ->get()
+            ->toArray();
+
+        return $oddsData;
+    }
 }

+ 24 - 0
Application/Sports/Model/St_lq_odds.php

@@ -25,4 +25,28 @@ class St_lq_odds extends Model
         $oddsData = self::select($select)->where($where)->groupby("match_id","type")->get();
         return $oddsData;
     }
+
+    //获取篮球赛事下 默认赔率数据
+    public static function getMatchOdds($source){
+        $oddsData = self::select('match_id','id','p_code','odds_code','status','odds','condition','sort','odds_only')
+            ->where($source)
+            ->where(
+                function($query){
+                    $query->where('odds_code','concede_home')
+                        ->orWhere(function($query){
+                            $query->where('odds_code','concede_guest');
+                        })
+                        ->orWhere(function($query){
+                            $query->where('odds_code','total_sizes_big');
+                        })
+                        ->orWhere(function($query){
+                            $query->where('odds_code','total_sizes_small');
+                        });
+                }
+            )
+            ->get()
+            ->toArray();
+
+        return $oddsData;
+    }
 }

+ 24 - 0
Application/Sports/Model/St_wq_odds.php

@@ -25,4 +25,28 @@ class St_wq_odds extends Model
         $oddsData = self::select($select)->where($where)->groupby("match_id","type")->get();
         return $oddsData;
     }
+
+    //获取网球赛事下 默认赔率数据
+    public static function getMatchOdds($source){
+        $oddsData = self::select('match_id','id','p_code','odds_code','status','odds','condition','sort','odds_only')
+            ->where($source)
+            ->where(
+                function($query){
+                    $query->where('odds_code','dishes_home')
+                        ->orWhere(function($query){
+                            $query->where('odds_code','dishes_guest');
+                        })
+                        ->orWhere(function($query){
+                            $query->where('odds_code','kemp_home');
+                        })
+                        ->orWhere(function($query){
+                            $query->where('odds_code','kemp_guest');
+                        });
+                }
+            )
+            ->get()
+            ->toArray();
+
+        return $oddsData;
+    }
 }

+ 14 - 32
Application/Sports/Model/St_zq_competition.php

@@ -26,8 +26,8 @@ class St_zq_competition extends Model
         return $matchData;
     }
 
-    //获取各球类 赛事关联赛事结果数据
-    public static function getMatchDataAll($source,$models,$where){
+    //获取各球类 滚球赛事关联赛事结果数据
+    public static function getRollMatchDataAll($source,$models,$where){
         $model_match = $models['model_match'];
         $model_result = $models['model_result'];
 
@@ -42,38 +42,20 @@ class St_zq_competition extends Model
         return $data;
     }
 
-    //获取赛事下 滚球盘默认赔率
-    public static function getMatchOdds($source,$models){
-        $model_odds = $models['model_odds'];
-        $oddsData= lm($model_odds,"Sports")
-            ->select($model_odds.'.match_id',$model_odds.'.id','p_code','odds_code',$model_odds.'.status','odds','condition','odds_only','sort')
-            ->where($model_odds.'.source',$source['source'])
-            ->where([$model_odds.'.type'=>0])//查询滚球赔率
-            //->where($model_odds.'.expire_time','>',date("Y-m-d H:i:s"))
-            ->where(function($query)use ($model_odds){
-                $query->where($model_odds.'.odds_code','concede_home')
-                    ->orWhere(function($query)use ($model_odds){
-                        $query->where($model_odds.'.odds_code','concede_guest');
-                    })
-                    ->orWhere(function($query)use ($model_odds){
-                        $query->where($model_odds.'.odds_code','size_home');
-                    })
-                    ->orWhere(function($query)use ($model_odds){
-                        $query->where($model_odds.'.odds_code','size_guest');
-                    })
-                    ->orWhere(function($query)use ($model_odds){
-                        $query->where($model_odds.'.odds_code','capot_home');
-                    })
-                    ->orWhere(function($query)use ($model_odds){
-                        $query->where($model_odds.'.odds_code','capot_dogfall');
-                    })
-                    ->orWhere(function($query)use ($model_odds){
-                        $query->where($model_odds.'.odds_code','capot_guest');
-                    });
-            })
+    //获取各球类 非滚球赛事关联赛事结果数据
+    public static function getSoonMatchDataAll($source,$models,$where){
+        $model_match = $models['model_match'];
+
+        $data = lm($model_match,"Sports")
+            ->select($model_match.'.lg_id',$model_match.'.match_id',$model_match.'.tag','match_date',$model_match.'.match_time',$model_match.'.home_team',$model_match.'.guest_team',$model_match.'.us_time')
+            ->where($source)
+            ->where($where)
+            ->orderBy('match_time','asc')
             ->get()
             ->toarray();
 
-        return $oddsData;
+        return $data;
     }
+
+
 }

+ 26 - 3
Application/Sports/Model/St_zq_league.php

@@ -13,10 +13,9 @@ class St_zq_league extends Model
 
     protected $table = 'st_zq_league';
 
-    //获取各状态下 联赛数据
-    public static function getLeagueData($source,$models,$where,$search=''){
+    //获取滚球 联赛数据
+    public static function getRollLeagueData($source,$models,$where,$search=''){
         $model_match = $models['model_match'];
-        $model_odds = $models['model_odds'];
         $model_league = $models['model_league'];
         $model_result = $models['model_result'];
         //当前状态下所有联赛
@@ -39,4 +38,28 @@ class St_zq_league extends Model
 
         return $data;
     }
+
+    //获取即将 联赛数据
+    public static function getSoonLeagueData($source,$models,$where,$search=''){
+        $model_match = $models['model_match'];
+        $model_league = $models['model_league'];
+        $model_result = $models['model_result'];
+        //当前状态下所有联赛
+        $data = lm($model_league,"Sports")
+            ->join($model_match,$model_match.'.lg_id',$model_league.'.lg_id')
+            ->select($model_league.'.lg_id',$model_league.'.name_chinese as leagueName')
+            ->distinct($model_league.'.name_chinese')
+            ->where($model_league.'.source',$source['source'])
+            ->where($where)
+            ->where(function($query)use ($model_match,$search){
+                $query->where($model_match.'.home_team','like','%'.$search.'%')
+                    ->orWhere(function($query)use ($model_match,$search) {
+                        $query->where($model_match . '.guest_team', 'like', '%' . $search . '%');
+                    });
+            })
+            ->get()
+            ->toarray();
+
+        return $data;
+    }
 }

+ 35 - 0
Application/Sports/Model/St_zq_odds.php

@@ -24,4 +24,39 @@ class St_zq_odds extends Model
         $oddsData = self::select($select)->where($where)->groupby("match_id","type")->get();
         return $oddsData;
     }
+
+    //获取足球赛事下 滚球盘默认赔率
+    public static function getMatchOdds($source,$models){
+        $model_odds = $models['model_odds'];
+        $oddsData= lm($model_odds,"Sports")
+            ->select($model_odds.'.match_id',$model_odds.'.id','p_code','odds_code',$model_odds.'.status','odds','condition','odds_only','sort')
+            ->where($model_odds.'.source',$source['source'])
+            ->where([$model_odds.'.type'=>0])//查询滚球赔率
+            //->where($model_odds.'.expire_time','>',date("Y-m-d H:i:s"))
+            ->where(function($query)use ($model_odds){
+                $query->where($model_odds.'.odds_code','concede_home')
+                    ->orWhere(function($query)use ($model_odds){
+                        $query->where($model_odds.'.odds_code','concede_guest');
+                    })
+                    ->orWhere(function($query)use ($model_odds){
+                        $query->where($model_odds.'.odds_code','size_home');
+                    })
+                    ->orWhere(function($query)use ($model_odds){
+                        $query->where($model_odds.'.odds_code','size_guest');
+                    })
+                    ->orWhere(function($query)use ($model_odds){
+                        $query->where($model_odds.'.odds_code','capot_home');
+                    })
+                    ->orWhere(function($query)use ($model_odds){
+                        $query->where($model_odds.'.odds_code','capot_dogfall');
+                    })
+                    ->orWhere(function($query)use ($model_odds){
+                        $query->where($model_odds.'.odds_code','capot_guest');
+                    });
+            })
+            ->get()
+            ->toarray();
+
+        return $oddsData;
+    }
 }

+ 100 - 7
Biz/Match/GetmatchData.php

@@ -10,7 +10,10 @@ namespace Biz\Match;
 use Biz\Match\GetOddsData;
 use App\Sports\Model\St_zq_league as leagueModel;
 use App\Sports\Model\St_zq_competition as matchModel;
-
+use App\Sports\Model\St_zq_odds as ZQoddsModel;
+use App\Sports\Model\St_wq_odds as WQoddsModel;
+use App\Sports\Model\St_bq_odds as BQoddsModel;
+use App\Sports\Model\St_lq_odds as LQoddsModel;
 
 class GetmatchData {
 
@@ -45,9 +48,7 @@ class GetmatchData {
 
         switch ($ret['type_code']){
             case 'StRollBall'://滚球
-//                $data = $this->getRollBall($source,$models,$where,$ret,$search);
                 $data = $this->getRollBall($source,$models,$where,$ret,$search);
-
                 break;
             case 'StSoon'://即将
                 $oddsTypeWhere = [
@@ -202,14 +203,14 @@ class GetmatchData {
     }
     public function getRollBall($source,$models,$where,$ret,$search=''){
         //获取当前状态下所有联赛
-        $leagueData = leagueModel::getLeagueData($source,$models,$where,$search);
+        $leagueData = leagueModel::getRollLeagueData($source,$models,$where,$search);
         if(empty($leagueData)){
             return $leagueData=[];
         }
         //统计联赛下的赛事及查询赛事
-        $matchData = matchModel::getMatchDataAll($source,$models,$where,$search);
+        $matchData = matchModel::getRollMatchDataAll($source,$models,$where);
         //获取赛事下滚球默认赔率
-        $oddsData = matchModel::getMatchOdds($source,$models);
+        $oddsData = ZQoddsModel::getMatchOdds($source,$models);
 
         $data = [];
         foreach ($leagueData as $k=>$v){
@@ -245,7 +246,7 @@ class GetmatchData {
     /**
      * 获取即将数据
      */
-    public function getSoon($source,$models,$where,$lg_id=0,$ret,$search='',$oddsTypeWhere=''){
+    public function __getSoon($source,$models,$where,$lg_id=0,$ret,$search='',$oddsTypeWhere=''){
         $model_match = $models['model_match'];
         $model_odds = $models['model_odds'];
         $model_league = $models['model_league'];
@@ -415,6 +416,98 @@ class GetmatchData {
         return $data;
     }
 
+    public function getSoon($source,$models,$where,$lg_id=0,$ret,$search='',$oddsTypeWhere=''){
+        //获取当前状态下所有联赛
+        $leagueData = leagueModel::getSoonLeagueData($source,$models,$where,$search);
+        if(empty($leagueData)){
+            return $leagueData=[];
+        }
+        //统计联赛下的赛事及查询赛事
+        $matchData = matchModel::getSoonMatchDataAll($source,$models,$where);
+        //获取当前美东时间
+        $s_time = strtotime($this->commonFunction->qgmdate('Y-m-d H:i:s', '', -4));
+        $data = [];
+        foreach ($leagueData as $k=>$v){
+            $data[$k] = $v;
+            foreach ($matchData as $kk=>$vv){
+                if($v['lg_id'] == $vv['lg_id']){
+                    $wait_time = ceil(((strtotime( $vv['us_time']))-$s_time)/60);
+                    $vv['wait_time'] = $wait_time;//追加距离开赛时间
+                    $data[$k]['matchData'][] = $vv;
+                }
+            }
+            $data[$k]['matchNum'] = count($data[$k]['matchData']);
+        }
+        if($ret['game_code'] == 'zq') {
+            //获取赛事下默认赔率
+            $oddsData = ZQoddsModel::getMatchOdds($source, $models);
+            foreach ($data as $k=>$v){
+                foreach ($v['matchData'] as $kk=>$vv){
+                    //获取赛事下赔率并且分组
+                    $capot = [];
+                    $concede_size = [];
+                    foreach ($oddsData as $kkk=>$vvv) {
+                        if ($vv['match_id'] == $vvv['match_id'] and $vvv['sort']==0) {
+                            if($vvv['p_code'] == 'concede_size'){
+                                $concede_size[] = $vvv;
+                            }
+                            if($vvv['p_code'] == 'capot'){
+                                $capot[] = $vvv;
+                            }
+                        }
+                    }
+                    $data[$k]['matchData'][$kk]['oddsData'] = [$concede_size,$capot];
+                }
+            }
+        }
+        if($ret['game_code'] == 'lq') {
+            $oddsData = LQoddsModel::getMatchOdds($source);
+            foreach ($data as $k=>$v){
+                foreach ($v['matchData'] as $kk=>$vv){
+                    //获取赛事下赔率并且分组
+                    $odds = [];
+                    foreach ($oddsData as $kkk=>$vvv) {
+                        if ($vv['match_id'] == $vvv['match_id'] and $vvv['sort']==0) {
+                            $odds[] = $vvv;
+                        }
+                    }
+                    $data[$k]['matchData'][$kk]['oddsData'] = $odds;
+                }
+            }
+        }
+        if($ret['game_code'] == 'wq') {
+            $oddsData = WQoddsModel::getMatchOdds($source);
+            foreach ($data as $k=>$v){
+                foreach ($v['matchData'] as $kk=>$vv){
+                    //获取赛事下赔率并且分组
+                    $odds = [];
+                    foreach ($oddsData as $kkk=>$vvv) {
+                        if ($vv['match_id'] == $vvv['match_id'] and $vvv['sort']==0) {
+                            $odds[] = $vvv;
+                        }
+                    }
+                    $data[$k]['matchData'][$kk]['oddsData'] = $odds;
+                }
+            }
+        }
+        if($ret['game_code'] == 'bq') {
+            $oddsData = BQoddsModel::getMatchOdds($source);
+            foreach ($data as $k=>$v){
+                foreach ($v['matchData'] as $kk=>$vv){
+                    //获取赛事下赔率并且分组
+                    $odds = [];
+                    foreach ($oddsData as $kkk=>$vvv) {
+                        if ($vv['match_id'] == $vvv['match_id'] and $vvv['sort']==0) {
+                            $odds[] = $vvv;
+                        }
+                    }
+                    $data[$k]['matchData'][$kk]['oddsData'] = $odds;
+                }
+            }
+        }
+        return $data;
+    }
+
     /**
      * 获取今日数据
      */