St_zq_odds.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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'){
  48. $oddsData = lm($model_odds,"Sports")
  49. ->select($select)
  50. ->whereIn('match_id',$match_ids)
  51. ->whereIn('p_code',$p_code)
  52. ->where($whereOr)
  53. ->get()
  54. ->toArray();
  55. if(!empty($oddsData)){
  56. foreach($oddsData as $k=>$v){
  57. if(strstr($v['odds_code'],'h')){
  58. unset($oddsData[$k]);
  59. }
  60. }
  61. sort($oddsData);
  62. }
  63. return $oddsData;
  64. }
  65. if($game_code == 'zq'){
  66. //其他
  67. $oddsData = lm($model_odds,"Sports")
  68. ->select($select)
  69. ->whereIn('match_id',$match_ids)
  70. ->whereIn('p_code',$p_code)
  71. ->where($whereOr)
  72. ->get()
  73. ->toArray();
  74. }else{
  75. //其他
  76. $oddsData = lm($model_odds,"Sports")
  77. ->select($select)
  78. ->whereIn('match_id',$match_ids)
  79. ->whereIn('p_code',$p_code)
  80. ->whereIn('odds_code',$whereIn)
  81. ->where($whereOr)
  82. ->get()
  83. ->toArray();
  84. }
  85. return $oddsData;
  86. }
  87. //获取足球赛事下 滚球盘默认赔率
  88. public static function getMatchOdds($source,$models,$match_ids=[],$DefaultOdds=[]){
  89. //不是串场赔率
  90. $oddsTypeWhere = [
  91. [$models['model_odds'].'.is_stringscene','=',0],
  92. ];
  93. $model_odds = $models['model_odds'];
  94. $oddsData= lm($model_odds,"Sports")
  95. ->select($model_odds.'.match_id',$model_odds.'.id','p_code','odds_code',$model_odds.'.status','odds','condition','odds_only','sort','source')
  96. ->whereIn($model_odds.'.match_id',$match_ids)
  97. ->where([$model_odds.'.type'=>0,$model_odds.'.status'=>0])//查询滚球赔率
  98. ->where($oddsTypeWhere)
  99. ->where(function($query)use ($model_odds,$DefaultOdds){
  100. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_concede_home'])
  101. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  102. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_concede_guest']);
  103. })
  104. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  105. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_goal_size_big']);
  106. })
  107. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  108. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_goal_size_small']);
  109. })
  110. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  111. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_capot_home']);
  112. })
  113. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  114. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_capot_dogfall']);
  115. })
  116. ->orWhere(function($query)use ($model_odds,$DefaultOdds){
  117. $query->where($model_odds.'.odds_code',$DefaultOdds['zq_capot_guest']);
  118. });
  119. })
  120. ->get()
  121. ->toarray();
  122. return $oddsData;
  123. }
  124. }