St_zq_odds.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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=''){
  26. if(empty($p_code)){
  27. $oddsData = lm($model_odds,"Sports")
  28. ->select($select)
  29. ->whereIn('match_id',$match_ids)
  30. ->where($whereOr)
  31. ->get()
  32. ->toArray();
  33. return $oddsData;
  34. /*
  35. //获取各球类所有父级玩法
  36. $p_code = lm('st_odds_code','Sports')
  37. ->select('game_code','odds_code','odds_name')
  38. ->where(['p_id'=>0,'game_code'=>$game_code])
  39. ->get()
  40. ->toArray();
  41. //获取各状态下 各球类各父级盘口下赛事数量
  42. $oddsData = lm($model_odds,"Sports")
  43. // ->select($select)
  44. ->whereIn('match_id',$match_ids)
  45. ->where($whereOr)
  46. ->pluck('p_code')
  47. ->toArray();
  48. $data = [];
  49. foreach($p_code as $k=>$v){
  50. foreach($oddsData as $kk=>$vv){
  51. if($v['odds_code'] == $vv){
  52. $data[$v['odds_code']][] = $vv;
  53. }
  54. }
  55. }
  56. foreach($data as $k=>$v){
  57. $data[$k]['game_code'] = $game_code;
  58. $data[$k]['game_num'] = count($v);
  59. $data[$k]['p_code'] = $k;
  60. // $data[$k]['code_num'] = $game_code;
  61. }
  62. return $oddsData;
  63. */
  64. }
  65. if($p_code == 'kemp'){
  66. $oddsData = lm($model_odds,"Sports")
  67. ->select($select)
  68. ->whereIn('lg_id',$match_ids)
  69. ->where($whereOr)
  70. ->get()
  71. ->toArray();
  72. return $oddsData;
  73. }
  74. $oddsData = lm($model_odds,"Sports")
  75. ->select($select)
  76. ->whereIn('match_id',$match_ids)
  77. ->whereIn('p_code',$p_code)
  78. ->where($whereOr)
  79. ->get()
  80. ->toArray();
  81. return $oddsData;
  82. }
  83. //获取足球赛事下 滚球盘默认赔率
  84. public static function getMatchOdds($source,$models,$match_ids=[]){
  85. $oddsTypeWhere = [
  86. [$models['model_odds'].'.is_stringscene','=',0],
  87. ];
  88. $model_odds = $models['model_odds'];
  89. $oddsData= lm($model_odds,"Sports")
  90. ->select($model_odds.'.match_id',$model_odds.'.id','p_code','odds_code',$model_odds.'.status','odds','condition','odds_only','sort')
  91. ->whereIn($model_odds.'.match_id',$match_ids)
  92. ->where([$model_odds.'.type'=>0,$model_odds.'.status'=>0])//查询滚球赔率
  93. ->where($oddsTypeWhere)
  94. ->where(function($query)use ($model_odds){
  95. $query->where($model_odds.'.odds_code','concede_home')
  96. ->orWhere(function($query)use ($model_odds){
  97. $query->where($model_odds.'.odds_code','concede_guest');
  98. })
  99. ->orWhere(function($query)use ($model_odds){
  100. $query->where($model_odds.'.odds_code','goal_size_big');
  101. })
  102. ->orWhere(function($query)use ($model_odds){
  103. $query->where($model_odds.'.odds_code','goal_size_small');
  104. })
  105. ->orWhere(function($query)use ($model_odds){
  106. $query->where($model_odds.'.odds_code','capot_home');
  107. })
  108. ->orWhere(function($query)use ($model_odds){
  109. $query->where($model_odds.'.odds_code','capot_dogfall');
  110. })
  111. ->orWhere(function($query)use ($model_odds){
  112. $query->where($model_odds.'.odds_code','capot_guest');
  113. });
  114. })
  115. ->get()
  116. ->toarray();
  117. return $oddsData;
  118. }
  119. }