ZqRule.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/4/25
  6. * Time: 14:10
  7. */
  8. namespace App\Lib\Settlement\Adapter;
  9. use Illuminate\Support\Facades\DB;
  10. class ZqRule
  11. {
  12. ////////////////////////根据规则判断输赢
  13. //让球大小
  14. public function concede_size($model,$resultModel,$resultRecords){
  15. }
  16. //全场|主队|让球
  17. public function concede_home($model,$resultModel,$resultRecords){
  18. $zhiball = intval($resultModel->home_score) ;
  19. $keballs = intval($resultModel->guest_score) ;
  20. $cond = intval($model->condition) ;
  21. $cha = $zhiball - $keballs - $cond ;
  22. if ($cha >0 ){ return 1; }
  23. if($cha ==0 ) { return 2 ;}
  24. return -1 ;
  25. }
  26. //主队全场让球条件
  27. public function concede_home_rule($model,$resultModel,$resultRecords){
  28. }
  29. // first_last_ball最先/最后进球 开始-----------------------
  30. //主队|最先进球
  31. public function first_ball_home($model,$resultModel,$resultRecords){
  32. if ($resultModel->all_goal >0){
  33. if ($resultModel->first_score === $resultModel->home_team){
  34. return 1;
  35. }else{
  36. return -1 ;
  37. }
  38. }
  39. return 2 ;
  40. }
  41. //客队|最先进球
  42. public function first_ball_guest($model,$resultModel,$resultRecords){
  43. if ($resultModel->all_goal >0){
  44. if ($resultModel->first_score === $resultModel->guest_team){
  45. return 1;
  46. }else{
  47. return -1 ;
  48. }
  49. }
  50. return 2 ;
  51. }
  52. //主队|最后进球
  53. public function last_ball_home($model,$resultModel,$resultRecords){
  54. if ($resultModel->all_goal >0){
  55. if ($resultModel->last_score === $resultModel->home_team){
  56. return 1;
  57. }else{
  58. return -1 ;
  59. }
  60. }
  61. return 2 ;
  62. }
  63. //客队|最后进球
  64. public function last_ball_guest($model,$resultModel,$resultRecords){
  65. if ($resultModel->all_goal >0){
  66. if ($resultModel->last_score === $resultModel->guest_team){
  67. return 1;
  68. }else{
  69. return -1 ;
  70. }
  71. }
  72. return 2 ;
  73. }
  74. //没有进球
  75. public function not_ball($model,$resultModel,$resultRecords){
  76. if ($resultModel->all_goal <=0){
  77. return 1 ;
  78. }else{
  79. return -1 ;
  80. }
  81. }
  82. ////////// first_last_ball最先/最后进球 结束-----------------------
  83. /**
  84. * 足球波胆 规则
  85. * @param $bet_match 投注赛事数据
  86. * @param $result_match 最终结果
  87. * @param $result_match_r 结果记录
  88. */
  89. public function bodanRule($bet_match,$result_match,$result_match_r){
  90. // $bet_match = DB::table('money_buy_match')->where('match_id', 3144414)->first();
  91. // $result_match = DB::table('st_zq_result')->where('match_id', 3144414)->first();
  92. // $result_match_r = DB::table('st_zq_result_record')->where('match_id', 3144414)->get()->toArray();
  93. //获取父/子级赔率代码
  94. $p_code = $bet_match->p_code;
  95. $odds_code = $bet_match->odds_code;
  96. //获取主客队投注比分
  97. $bet_score = explode('-', $bet_match->condition);
  98. $bet_home_score = (int)$bet_score[0];
  99. $bet_guest_score = (int)$bet_score[1];
  100. if($p_code == 'bodan'){
  101. if(strstr($odds_code,"half")){//上半场
  102. $half_data = [];
  103. foreach ($result_match_r as $k=>$v){
  104. //取出上半场数据
  105. if($v->match_process == '上半场'){
  106. $half_data[] = $v;
  107. }
  108. }
  109. //根据id倒序排列
  110. $half_data_sorc = array_column($half_data,'id');
  111. array_multisort($half_data_sorc,SORT_DESC,$half_data);
  112. //获取id最大的一条数据
  113. foreach ($half_data as $k=>$v){
  114. if($v->id == $half_data_sorc[0]){
  115. $last_half_data = $v;
  116. }
  117. }
  118. //获取主客队上半场得分
  119. $home_score = $last_half_data->home_score;
  120. $guest_score = $last_half_data->guest_score;
  121. }else{//全场
  122. //获取主客队全场得分
  123. $home_score = $result_match->home_score;
  124. $guest_score = $result_match->guest_score;
  125. }
  126. //判断结果
  127. if($bet_home_score == $home_score and $bet_guest_score == $guest_score)
  128. {
  129. $result = 1;//赢
  130. }else{
  131. $result = -1;//输
  132. }
  133. }
  134. return $result;
  135. }
  136. }