Преглед изворни кода

追加推送 修改滚球数据接口

彭俊 пре 6 година
родитељ
комит
3a388a27ff

+ 1 - 1
Application/InApi/Controller/Index.php

@@ -122,7 +122,7 @@ class Index extends Controller {
             if ($ret == -1){
                 Render('10',2,'Token overTime,please Refresh!');
             }
-            Render('10',0,'key check error!');
+            Render('10',0,'key check error!-'.$ret);
         }
 
         $this->model = $model ;

+ 51 - 0
Application/Sports/Model/St_zq_competition.php

@@ -25,4 +25,55 @@ class St_zq_competition extends Model
         $matchData = self::select($select)->where($where)->orderBy($sort,$orderby)->get();
         return $matchData;
     }
+
+    //获取各球类 赛事关联赛事结果数据
+    public static function getMatchDataAll($source,$models,$where){
+        $model_match = $models['model_match'];
+        $model_result = $models['model_result'];
+
+        $data = lm($model_match,"Sports")
+            ->leftjoin($model_result,$model_result.'.match_id',$model_match.'.match_id')
+            ->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','home_score','guest_score',$model_result.'.match_time as a_time','match_process')
+            ->where($model_match.'.source',$source['source'])
+            ->where($where)
+            ->get()
+            ->toarray();
+
+        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');
+                    });
+            })
+            ->get()
+            ->toarray();
+
+        return $oddsData;
+    }
 }

+ 27 - 0
Application/Sports/Model/St_zq_league.php

@@ -12,4 +12,31 @@ class St_zq_league extends Model
 {
 
     protected $table = 'st_zq_league';
+
+    //获取各状态下 联赛数据
+    public static function getLeagueData($source,$models,$where,$search=''){
+        $model_match = $models['model_match'];
+        $model_odds = $models['model_odds'];
+        $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')
+            ->join($model_result,$model_result.'.match_id',$model_match.'.match_id')
+            ->select($model_league.'.lg_id',$model_league.'.name_chinese as leagueName')
+            ->distinct($model_league.'.name_chinese')
+            ->where($model_league.'.source',$source['source'])
+            ->where([[$model_league.'.name_chinese','!=','']])
+            ->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;
+    }
 }

+ 48 - 2
Biz/Match/GetmatchData.php

@@ -8,6 +8,9 @@
 
 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;
+
 
 class GetmatchData {
 
@@ -42,7 +45,9 @@ class GetmatchData {
 
         switch ($ret['type_code']){
             case 'StRollBall'://滚球
-                $data = $this->getRollBall($source,$models,$where,$ret,$search);
+//                $data = $this->getRollBall($source,$models,$where,$ret,$search);
+                $data = $this->getRollBallddd($source,$models,$where,$ret,$search);
+
                 break;
             case 'StSoon'://即将
                 $oddsTypeWhere = [
@@ -101,7 +106,7 @@ class GetmatchData {
     /**
      * 获取滚球数据
      */
-    public function getRollBall($source,$models,$where,$ret,$search=''){
+    public function __getRollBall($source,$models,$where,$ret,$search=''){
         $model_match = $models['model_match'];
         $model_odds = $models['model_odds'];
         $model_league = $models['model_league'];
@@ -195,6 +200,47 @@ class GetmatchData {
 
         return $data;
     }
+    public function getRollBall($source,$models,$where,$ret,$search=''){
+        //获取当前状态下所有联赛
+        $leagueData = leagueModel::getLeagueData($source,$models,$where,$search);
+        if(empty($leagueData)){
+            return $leagueData=[];
+        }
+        //统计联赛下的赛事及查询赛事
+        $matchData = matchModel::getMatchDataAll($source,$models,$where,$search);
+        //获取赛事下滚球默认赔率
+        $oddsData = matchModel::getMatchOdds($source,$models);
+
+        $data = [];
+        foreach ($leagueData as $k=>$v){
+            $data[$k] = $v;
+            foreach ($matchData as $kk=>$vv){
+                if($v['lg_id'] == $vv['lg_id']){
+                    $data[$k]['matchData'][] = $vv;
+                }
+            }
+            $data[$k]['matchNum'] = count($data[$k]['matchData']);
+        }
+        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];
+            }
+        }
+        return $data;
+    }
 
     /**
      * 获取即将数据