St_zq_odds.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace App\Sports\Model;
  3. use \System\Model;
  4. /**
  5. * Class Account
  6. * @package App\Sports\Model
  7. * 用户账号
  8. */
  9. class St_zq_odds extends Model
  10. {
  11. protected $table = 'st_zq_odds';
  12. /**
  13. * @param array $where 条件
  14. * @param string $select 字段
  15. * @param string $sort 排序字段
  16. * @param string $orderby 排序方式
  17. * @return mixed
  18. * 获取赔率数据
  19. */
  20. public static function getOddsData($where=[],$select='id',$sort='id',$orderby='asc'){
  21. $oddsData = self::select($select)->where($where)->groupby("lg_id","match_id","type")->get();
  22. return $oddsData;
  23. }
  24. //获取赔率数据 用于pc端
  25. public static function getOddsDataPC($model_odds='',$select=[],$match_ids=[],$whereOr=[],$p_code=[],$game_code='',$whereIn=[]){
  26. //父级玩法为空,查询所有
  27. if(empty($p_code)){
  28. $oddsData = lm($model_odds,"Sports")
  29. ->select($select)
  30. ->whereIn('match_id',$match_ids)
  31. ->where($whereOr)
  32. ->get()
  33. ->toArray();
  34. return $oddsData;
  35. }
  36. //冠军
  37. if($p_code == 'kemp'){
  38. $oddsData = lm($model_odds,"Sports")
  39. ->select($select)
  40. ->whereIn('lg_id',$match_ids)
  41. ->where($whereOr)
  42. ->get()
  43. ->toArray();
  44. return $oddsData;
  45. }
  46. //波胆,只查询全场
  47. if($p_code[0] == 'B' and $game_code == 'zq'){
  48. $whereIn = ['b10','b20','b21','b30','b31','b32','b40','b41','b42','b43','b01','b02','b12','b03','b13','b23','b04','b14','b24','b34','b00','b11','b22','b33','b44','bo'];
  49. $oddsData = lm($model_odds,"Sports")
  50. ->select($select)
  51. ->whereIn('match_id',$match_ids)
  52. ->whereIn('p_code',$p_code)
  53. ->whereIn('odds_code',$whereIn)
  54. ->where($whereOr)
  55. ->get()
  56. ->toArray();
  57. // if(!empty($oddsData)){
  58. // foreach($oddsData as $k=>$v){
  59. // if(strstr($v['odds_code'],'h')){
  60. // unset($oddsData[$k]);
  61. // }
  62. // }
  63. // sort($oddsData);
  64. // }
  65. return $oddsData;
  66. }
  67. //非足球,查询各父玩法的指定子玩法
  68. if(!empty($whereIn)){
  69. $oddsData = lm($model_odds,"Sports")
  70. ->select($select)
  71. ->whereIn('match_id',$match_ids)
  72. ->whereIn('p_code',$p_code)
  73. ->whereIn('odds_code',$whereIn)
  74. ->where($whereOr)
  75. ->get()
  76. ->toArray();
  77. return $oddsData;
  78. }
  79. //其他
  80. $oddsData = lm($model_odds,"Sports")
  81. ->select($select)
  82. ->whereIn('match_id',$match_ids)
  83. ->whereIn('p_code',$p_code)
  84. ->where($whereOr)
  85. ->get()
  86. ->toArray();
  87. return $oddsData;
  88. }
  89. //获取足球赛事下 滚球盘默认赔率
  90. public static function getMatchOdds($source,$models,$match_ids=[],$DefaultOdds=[]){
  91. //不是串场赔率
  92. $oddsTypeWhere = [
  93. [$models['model_odds'].'.is_stringscene','=',0],
  94. ];
  95. $model_odds = $models['model_odds'];
  96. $oddsData= lm($model_odds,"Sports")
  97. ->select($model_odds.'.match_id',$model_odds.'.id','p_code','odds_code',$model_odds.'.status','odds','condition','odds_only','sort','source')
  98. ->whereIn($model_odds.'.match_id',$match_ids)
  99. ->where([$model_odds.'.type'=>0,$model_odds.'.status'=>0])//查询滚球赔率
  100. ->where($oddsTypeWhere)
  101. ->where(function($query)use ($model_odds,$DefaultOdds){
  102. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_concede_home'])
  103. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  104. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_concede_guest']);
  105. })
  106. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  107. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_goal_size_big']);
  108. })
  109. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  110. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_goal_size_small']);
  111. })
  112. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  113. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_capot_home']);
  114. })
  115. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  116. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_capot_dogfall']);
  117. })
  118. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  119. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_capot_guest']);
  120. });
  121. })
  122. ->get()
  123. ->toarray();
  124. return $oddsData;
  125. }
  126. }