Stzqresult.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Support\Facades\DB;
  4. class Stzqresult extends BaseModel
  5. {
  6. protected $table = 'st_zq_result';
  7. public $timestamps = false;
  8. protected $fillable = ['id','lg_id','home_team','guest_team','home_rate','guest_rate','home_score','status','first_score','last_score','match_score','guest_score','match_winer','update_time','match_time','match_process','tag','u_home_score','u_guest_score','match_id','all_goal','penalty_card','corner_ball','source','p_code'];
  9. function resultlist($list = 10, $page, $where = '',$orwhere = '')
  10. {
  11. if (is_array ($where) && count ($where) > 0) {
  12. $data = $this->join('st_zq_league','st_zq_result.lg_id','=','st_zq_league.id')->join('st_zq_competition','st_zq_competition.id','=','st_zq_result.match_id')->select($this->table.'.id',$this->table.'.home_team',$this->table.'.guest_team',$this->table.'.match_id','st_zq_result.guest_team','st_zq_result.home_rate','st_zq_result.guest_rate','st_zq_result.first_score','st_zq_competition.status','st_zq_result.last_score','st_zq_result.match_score','st_zq_result.match_winer','st_zq_result.update_time','st_zq_competition.match_time','st_zq_result.match_process',$this->table.'.home_score',$this->table.'.guest_score',$this->table.'.u_guest_score',$this->table.'.u_home_score',$this->table.'.start_time','st_zq_league.name_chinese as saisname')->orderby('st_zq_result.match_id','desc')->where($where)->orwhere($orwhere)->paginate ($list);
  13. } else {
  14. $data = $this->join('st_zq_league','st_zq_result.lg_id','=','st_zq_league.id')->join('st_zq_competition','st_zq_competition.id','=','st_zq_result.match_id')->select($this->table.'.id',$this->table.'.home_team',$this->table.'.guest_team',$this->table.'.match_id','st_zq_result.guest_team','st_zq_result.home_rate','st_zq_result.guest_rate','st_zq_result.first_score','st_zq_competition.status','st_zq_result.last_score','st_zq_result.match_score','st_zq_result.match_winer','st_zq_result.update_time','st_zq_competition.match_time','st_zq_result.match_process',$this->table.'.home_score',$this->table.'.guest_score',$this->table.'.u_guest_score',$this->table.'.u_home_score',$this->table.'.start_time','st_zq_league.name_chinese as saisname')->orderby('st_zq_result.match_id','desc')->paginate ($list);
  15. }
  16. $newsim = new \App\Models\SportsNoteList();
  17. $simplex = $newsim->getsim('zq');
  18. $newstr = new \App\Models\MoneyBuyStr();
  19. $str = $newstr->strmatchs();
  20. //print_r($str);exit;
  21. for ($i=0; $i < count($data); $i++) {
  22. $data[$i]->newstime = date("Y-m-d H:i:s");
  23. $data[$i]->numsim = 0;
  24. for ($j=0; $j < count($simplex); $j++) {
  25. if($simplex[$j]['match_id'] == $data[$i]->match_id){
  26. $data[$i]->numsim = $data[$i]->numsim+1;
  27. }
  28. }
  29. $data[$i]->numstr = 0;
  30. for ($a=0; $a < count($str); $a++) {
  31. if(in_array($data[$i]->match_id,$str[$a]['match_ids'])){
  32. $data[$i]->numstr = $data[$i]->numstr+1;
  33. }
  34. }
  35. }
  36. return $data->toArray ();
  37. }
  38. //地区联赛赛事查询
  39. function alldiqu(){
  40. $data = $this->join('st_zq_league','st_zq_result.lg_id','=','st_zq_league.id')->select('st_zq_result.id','st_zq_result.lg_id','st_zq_result.home_team','st_zq_result.guest_team','st_zq_result.home_rate','st_zq_result.guest_rate','st_zq_result.first_score','st_zq_result.status','st_zq_result.last_score','st_zq_result.match_score','st_zq_result.match_winer','st_zq_result.update_time','st_zq_result.match_time','st_zq_result.match_process','st_zq_league.name_chinese as saisname')->orderby('st_zq_result.id','desc')->get();
  41. return $data->toArray ();
  42. }
  43. //更新
  44. function updateInfo($data, $match_id)
  45. {
  46. $res = $this->where ('match_id', $match_id)->update ($data);
  47. if (!$res) {
  48. return -7010101202; //更新失败
  49. }
  50. return 1;
  51. }
  52. //计算总进球数
  53. function totalgoal($match_id)
  54. {
  55. $data = $this->where('match_id',$match_id)->first();
  56. $all_goal = $data['home_score']+$data['guest_score'];
  57. $res = $this->where ('match_id', $match_id)->update (['all_goal'=>$all_goal]);
  58. if (!$res) {
  59. return -7010101202; //更新失败
  60. }
  61. return 1;//
  62. }
  63. //更新状态
  64. function updatestatus($field,$where,$data){
  65. $res=$this->where($field,$where)->update($data);
  66. if(!$res) {
  67. return -7020050022;//更新失败
  68. }
  69. return 1;
  70. }
  71. //查询赛事
  72. function matchjg($match_id){
  73. $data = $this->where('match_id',$match_id)->select('id','home_team','guest_team')->first();
  74. if (!$data) {
  75. return -5040000102; //无相关信息
  76. }
  77. return $data->toArray();
  78. }
  79. /**
  80. * POST请求https接口返回内容
  81. * @param string $url [请求的URL地址]
  82. * @param string $post [请求的参数]
  83. * @return string
  84. */
  85. function post_curls($url, $post)
  86. {
  87. $curl = curl_init(); // 启动一个CURL会话
  88. curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
  89. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
  90. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
  91. curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
  92. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
  93. curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
  94. curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
  95. curl_setopt($curl, CURLOPT_POSTFIELDS, $post); // Post提交的数据包
  96. curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
  97. curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
  98. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
  99. $res = curl_exec($curl); // 执行操作
  100. if (curl_errno($curl)) {
  101. echo 'Errno'.curl_error($curl);//捕抓异常
  102. }
  103. curl_close($curl); // 关闭CURL会话
  104. return $res; // 返回数据,json格式
  105. }
  106. //单式结算处理
  107. function simplexs($token,$match_id,$jsurl,$type){
  108. $simplex = array(
  109. 'token'=>$token,
  110. 'order_ids'=>'', //订单id字符串,用半角都好分隔
  111. 'bettype'=>1, //结算类型 1单式 2串式
  112. 'settype'=>2, //结算次数 1首次 2非首冷饮
  113. 'game_code'=>$type, //赛事类型 zq lq wq bq
  114. 'match_id'=>$match_id, // 赛事ID
  115. 'change_status'=>1 //是否改状态
  116. );
  117. $url=$jsurl.'/Settelement';
  118. $simplex_res = $this->post_curls($url,$simplex);//返回json
  119. $huawei_res = json_decode($simplex_res,true);
  120. return $huawei_res;
  121. }
  122. //串式结算处理
  123. function tandems($token,$match_id,$jsurl,$type){
  124. $tandem = array(
  125. 'token'=>$token,
  126. 'order_ids'=>'', //订单id字符串,用半角都好分隔
  127. 'bettype'=>2, //结算类型 1单式 2串式
  128. 'settype'=>2, //结算次数 1首次 2非首冷饮
  129. 'game_code'=>$type, //赛事类型 zq lq wq bq
  130. 'match_id'=>$match_id, // 赛事ID
  131. 'change_status'=>1 //是否改状态
  132. );
  133. $url=$jsurl.'/Settelement';
  134. $tandem_res = $this->post_curls($url,$tandem);//返回json
  135. $tandem_res = json_decode($tandem_res,true);
  136. return $tandem_res;
  137. }
  138. }