Browse Source

追加功能

彭俊 6 years ago
parent
commit
fe1ed162d8

+ 96 - 72
app/Http/Controllers/Admin/SoccerNoteListController.php

@@ -149,86 +149,110 @@ class SoccerNoteListController extends Controller
     }
 
     //查询赛事结果
-    function Sairesult(Req $req){
-        $did = $req->did;
-        $qlgame = $req->qlgame?$req->qlgame:'zq';
-        $newapp = \App\Models\SportsNoteList::where('id', $did)->first();
+    // function Sairesult(Req $req){
+        // $did = $req->did;
+        // $qlgame = $req->qlgame?$req->qlgame:'zq';
+        // $newapp = \App\Models\SportsNoteList::where('id', $did)->first();
 
-        if($qlgame=='zq'){
-            if($newapp['match_id']){
-                $newre = new \App\Models\Stzqresult();
-                $teamname = $newre->matchjg($newapp['match_id']);
-            }else{
-                $teamname ='';
-            }
-        }elseif($qlgame=='lq'){
-            if($newapp['match_id']){
-                $newre = new \App\Models\Stlqresult();
-                $teamname = $newre->matchjg($newapp['match_id']);
-            }else{
-                $teamname ='';
-            }
-        }elseif($qlgame=='bq'){
-            if($newapp['match_id']){
-                $newre = new \App\Models\Stbqresult();
-                $teamname = $newre->matchjg($newapp['match_id']);
-            }else{
-                $teamname ='';
-            }
-        }elseif($qlgame=='wq'){
-            if($newapp['match_id']){
-                $newre = new \App\Models\Stwqresult();
-                $teamname = $newre->matchjg($newapp['match_id']);
-            }else{
-                $teamname ='';
-            } 
-        }else{
-            $data = "参数错误";
-        }
+        // if($qlgame=='zq'){
+        //     if($newapp['match_id']){
+        //         $newre = new \App\Models\Stzqresult();
+        //         $teamname = $newre->matchjg($newapp['match_id']);
+        //     }else{
+        //         $teamname ='';
+        //     }
+        // }elseif($qlgame=='lq'){
+        //     if($newapp['match_id']){
+        //         $newre = new \App\Models\Stlqresult();
+        //         $teamname = $newre->matchjg($newapp['match_id']);
+        //     }else{
+        //         $teamname ='';
+        //     }
+        // }elseif($qlgame=='bq'){
+        //     if($newapp['match_id']){
+        //         $newre = new \App\Models\Stbqresult();
+        //         $teamname = $newre->matchjg($newapp['match_id']);
+        //     }else{
+        //         $teamname ='';
+        //     }
+        // }elseif($qlgame=='wq'){
+        //     if($newapp['match_id']){
+        //         $newre = new \App\Models\Stwqresult();
+        //         $teamname = $newre->matchjg($newapp['match_id']);
+        //     }else{
+        //         $teamname ='';
+        //     } 
+        // }else{
+        //     $data = "参数错误";
+        // }
 
-        $data =array(
-            'singleresult' => json_decode($newapp['single_result'],true),
-            'teamname' => $teamname,
-        );
-        return $data;
-    }
+        // $data =array(
+        //     'singleresult' => json_decode($newapp['single_result'],true),
+        //     'teamname' => $teamname,
+        // );
+        // return $data;
+    // }
+    // function Sairesult(Req $req){
+    //     $did = $req->did;
+    //     $model = \App\Models\SportsNoteList::where('id', $did)->first();
+    //     $pid = $model['match_id'];
+    //     $saisjg = \App\Models\Stzqresult::where('match_id',$pid)->first()->toArray();//赛事结果
+    //     $saisjg['corner_ball'] = json_decode($saisjg['corner_ball'],true);
+    //     $saisjg['first_score'] = json_decode($saisjg['first_score'],true);
+    //     $saisjg['penalty_card'] = json_decode($saisjg['penalty_card'],true);
+    //     $saisjg['warn_more'] = json_decode($saisjg['warn_more'],true);
+
+    // }
 
     //结果添加
     function addend(Req $req){
-        $did = $req->did;
+        $did = $req->did;//59;//
+        $qlgame = $req->qlgame;//1;
         $model = \App\Models\SportsNoteList::where('id', $did)->first();
+        $pid = $model['match_id'];
 
-        $single_result = array(
-            'home_team' => $req->home_team?$req->home_team:0,//主队
-            'guest_team' => $req->guest_team?$req->guest_team:0,//客队
-            'home_score' => $req->home_score?$req->home_score:0,//主队进球
-            'guest_score' => $req->guest_score?$req->guest_score:0,//客队进球
-            'all_goal' => $req->all_goal?$req->all_goal:0,//总进球
-            'first_score' => $req->firstscore?$req->firstscore:0,//最先进球球队
-            'last_score' => $req->lastscore?$req->lastscore:0,//最后进球球队
-            'match_winer' => $req->matchwiner?$req->matchwiner:0,//赢球球队
-            'update_time' => time(),//更新时间
-            'match_id' => $req->match_id?$req->match_id:0,
-            'u_guest_score' => $req->u_guest_score?$req->u_guest_score:0,//上半场-主队进球数
-            'u_home_score' => $req->u_home_score?$req->u_home_score:0,//上半场-客队进球数
-            'penaltycard' => array(
-                'home'=>intval($req->homeallcard)?intval($req->homeallcard):0,
-                'guest'=>intval($req->guestallcard)?intval($req->guestallcard):0,
-                'home_half'=>intval($req->homehalfcard)?intval($req->homehalfcard):0,
-                'guest_half'=>intval($req->guesthalfcard)?intval($req->guesthalfcard):0,
-            ),
-            'cornerball' => array(
-                'home'=>intval($req->homeallcorner)?intval($req->homeallcorner):0,
-                'guest'=>intval($req->guestallcorner)?intval($req->guestallcorner):0,
-                'home_half'=>intval($req->homehalfcorner)?intval($req->homehalfcorner):0,
-                'guest_half'=>intval($req->guesthalfcorner)?intval($req->guesthalfcorner):0,
-            ),
-        );
-        $model->single_result = json_encode([$single_result]);
-        $model->result_flag = 1;
+        if ($qlgame==1) {
+            $saisjg = \App\Models\Stzqresult::where('match_id',$pid)->first()->toArray();//赛事结果
+            $saisjg['corner_ball'] = json_decode($saisjg['corner_ball'],true);
+            $saisjg['first_score'] = json_decode($saisjg['first_score'],true);
+            $saisjg['penalty_card'] = json_decode($saisjg['penalty_card'],true);
+            $saisjg['warn_more'] = json_decode($saisjg['warn_more'],true);
+            
+            $model->single_result = json_encode([$saisjg]);
+            $model->save();
+            $newm = \App\Models\SportsNoteList::where('id', $did)->first();
+            return $newm['single_result'];
+        }else{
+            $new = \App\Models\SportsNoteList::where('id', $did)->first();
+            $newa = json_decode($new['single_result'],true); 
+            $newa[0]['home_score'] = $req->home_score;//主队进球
+            $newa[0]['guest_score'] = $req->guest_score;//客队进球
+            $newa[0]['all_goal'] = intval($req->guest_score)+intval($req->home_score);//总进球
+            $newa[0]['first_score'] = $req->firstscore;//最先进球球队
+            $newa[0]['last_score'] = $req->lastscore;//最后进球球队
+            $newa[0]['match_winer'] = $req->matchwiner;//赢球球队
+            $newa[0]['update_time'] = time();//更新时间
+            $newa[0]['u_guest_score'] = $req->u_guest_score;//上半场-主队进球数
+            $newa[0]['u_home_score'] = $req->u_home_score;//上半场-客队进球数
+            $newa[0]['penalty_card'] = array(
+                'home'=>$req->homeallcard,
+                'guest'=>$req->guestallcard,
+                'home_half'=>$req->homehalfcard,
+                'guest_half'=>$req->guesthalfcard,
+            );
+            $newa[0]['corner_ball'] = array(
+                'home'=>$req->homeallcorner,
+                'guest'=>$req->guestallcorner,
+                'home_half'=>$req->homehalfcorner,
+                'guest_half'=>$req->guesthalfcorner,
+            );
+
+            $model->single_result = json_encode($newa);
+            $model->result_flag = 1;
 
-        $model->save();
-        return responseToJson(1);
+            $model->save();
+            return responseToJson(1);
+        }
     }
 
     function getinfo()

+ 237 - 0
app/Lib/Biz/Sport/WagentProxy.php

@@ -0,0 +1,237 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019/8/15
+ * Time: 16:56
+ */
+
+namespace App\Lib\Biz\Sport;
+
+
+class WagentProxy
+{
+    private $token = '';
+    private $cacheFile = '';
+    private $domain = 'http://sports.bocai108.com';
+    private $configs = [];
+
+
+    public function setCacheFile($file = '')
+    {
+        if (empty($file)) {
+            $file = __DIR__ . DIRECTORY_SEPARATOR . 'token.cache';
+        }
+        $this->cacheFile = $file;
+    }
+
+    public function getCacheFile()
+    {
+        if (empty($this->cacheFile)) {
+            $this->cacheFile = __DIR__ . DIRECTORY_SEPARATOR . 'token.cache';
+        }
+        return $this->cacheFile;
+    }
+
+    //写入本地缓存 注意目录和文件要有与入权根
+    public function writeTokenCache($array)
+    {
+        $ret = file_put_contents($this->cacheFile, json_encode($array, 256));
+        return $ret;
+    }
+
+    //读取本地缓存
+    public function readTokenCache()
+    {
+        if (!file_exists($this->cacheFile)) {
+            return false;
+        }
+        $ret = file_get_contents($this->cacheFile);
+        if ($ret) {
+            return $ret;
+        } else {
+            return false;
+        }
+    }
+
+    //请求 url地址get时可以带参数  ,param为post提交的参数数组    isPost是否是post方式提交,默认为get
+    function request_post($url = '', $param = '', $isPost = 0)
+    {
+        if (empty($url)) {
+            return false;
+        }
+
+        if ($isPost && empty($param)) {
+            return false;
+        }
+
+        $postUrl = $url;
+        $curlPost = $param;
+        $ch = curl_init();//初始化curl
+        if (!$isPost && $param) {
+            $postUrl = $postUrl . '?' . $param;
+        }
+        curl_setopt($ch, CURLOPT_URL, $postUrl);//抓取指定网页
+        curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
+        if ($isPost) {
+            curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
+            curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
+        }
+        $data = curl_exec($ch);//运行curl
+        curl_close($ch);
+
+        return $data;
+    }
+
+
+    //获取token
+    protected function getToken()
+    {
+        $cacheData = json_decode($this->readTokenCache(), true);
+        if ($cacheData && isset($cacheData['ctime']) && isset($cacheData['token']) && isset($cacheData['domain'])) {
+            $ctime = intval($cacheData['ctime']);
+            $token = $cacheData['token'];
+            $domain = $this->domain = $cacheData['domain'];
+
+            if ((time() - $ctime) >= 24 * 60 * 60 - 300) {
+                $token = '';
+            }
+
+            if ($token) {
+                $this->domain = $domain;
+                $this->token = $token;
+                return $token;
+            }
+        }
+        return false;
+    }
+
+    //刷新token值
+    public function refreshTokenData($config)
+    {
+        $name = isset($config['name']) ? $config['name'] : '';
+        $key = isset($config['key']) ? $config['key'] : '';
+        $secret = isset($config['secret']) ? $config['secret'] : '';
+        $domain = isset($config['domain']) ? $config['domain'] : '';
+
+        if (empty($name) || empty($key) || empty($secret) || empty($domain)) {
+            throw new  \Exception('require params error!', 1000);
+        }
+
+        $url = $domain . '/InApi-index/getToken';
+        $tokenTmp = $this->request_post($url, ['wagent_name' => $name, 'wagent_key' => $key, 'wagent_secret' => $secret], 1);
+        if ($tokenTmp) {
+            $tokenData = json_decode($tokenTmp, true);
+            if (isset($tokenData['status']) && $tokenData['status'] == 1 && isset($tokenData['data']['token']) && ($tokenData['data']['token'] != '')) {
+                $this->writeTokenCache(['ctime' => time(), 'token' => $tokenData['data']['token'], 'domain' => $domain]);
+                $this->token = $tokenData['data']['token'];
+                return $tokenData['data']['token'];
+            } else {
+                return $tokenTmp;
+            }
+        }
+        throw new  \Exception('get Token False', 1001);
+    }
+
+    //配置
+    public function setConfigs(Array $config)
+    {
+        $name = isset($config['name']) ? $config['name'] : '';
+        $key = isset($config['key']) ? $config['key'] : '';
+        $secret = isset($config['secret']) ? $config['secret'] : '';
+        $domain = isset($config['domain']) ? $config['domain'] : '';
+        $cachefile = isset($config['cachefile']) ? $config['cachefile'] : '';
+
+        if (empty($name) || empty($key) || empty($secret)) {
+            throw  new  \Exception('初始化参数错误,name,key,secret不能为空', 1002);
+        }
+
+        if (empty($domain)) {
+            $domain = $this->domain;
+        }
+
+        $this->configs = ['name' => $name, 'key' => $key, 'secret' => $secret, 'domain' => $domain];
+        $this->setCacheFile($cachefile);
+        return true;
+    }
+
+    //生成带验证的请求url
+    public function makeUrl(String $route, Array $paraArray, $arrayRet = 0)
+    {
+        $str = '';
+        foreach ($paraArray as $nkey => $val) {
+            $str .= "&" . $nkey . '=' . $val;
+        }
+        $param = base64_encode(substr($str, 1));
+        $Key = md5($param . $this->token);
+
+        if ($arrayRet) {
+            return ['url' => $this->domain . $route, 'param' => $param, 'key' => $Key];
+        }
+        $url = $this->domain . $route . '?params=' . $param . '&Key=' . $Key;
+
+        return $url;
+    }
+
+    //初始化操作
+    public function Init($config)
+    {
+        $this->setConfigs($config);
+        if ($this->getToken()) {
+            return true;
+        }
+        $this->refreshTokenData($this->configs);
+        return true;
+    }
+
+
+    /////////////////////////////////////以下为具体业务逻辑
+    //请在调用以下方法前,调用 Init方法作初始化操作
+
+    //2.1检测账户是否存在
+    public function caie($name)
+    {
+        $arrcomm = ['agent' => $this->configs['name'], 'method' => 'caie'];
+        $arrthis = ['username' => $name];
+
+        $url = $this->makeUrl('/InApi-index/dobusiness', array_merge($arrcomm, $arrthis));
+        $ret = $this->request_post($url);
+        return $ret;
+    }
+
+    //2.2 检测并创建账号
+    public function caca($name, $pass)
+    {
+        $arrcomm = ['agent' => $this->configs['name'], 'method' => 'caca'];
+        $arrthis = ['username' => $name, 'password' => $pass];
+
+        $url = $this->makeUrl('/InApi-index/dobusiness', array_merge($arrcomm, $arrthis));
+        $ret = $this->request_post($url);
+        return $ret;
+    }
+
+    ///2.3用户查询余额
+    public function gb($name, $pass)
+    {
+        $arrcomm = ['agent' => $this->configs['name'], 'method' => 'gb'];
+        $arrthis = ['username' => $name, 'password' => $pass];
+
+        $url = $this->makeUrl('/InApi-index/dobusiness', array_merge($arrcomm, $arrthis));
+        $ret = $this->request_post($url);
+        return $ret;
+    }
+
+    ///2.4用户密码更改  (用post方法提交的例子,注意参数格式)
+    public function ua($name, $pass)
+    {
+        $arrcomm = ['agent' => $this->configs['name'], 'method' => 'ua'];
+        $arrthis = ['username' => $name, 'password' => $pass];
+
+        $urlarr = $this->makeUrl('/InApi-index/dobusiness', array_merge($arrcomm, $arrthis), 1);
+        $ret = $this->request_post($urlarr['url'], ['params' => $urlarr['param'], 'Key' => $urlarr['key']], 1);
+        return $ret;
+    }
+
+    //...............
+}

+ 30 - 29
resources/views/sports/sports_notelist.blade.php

@@ -176,10 +176,10 @@
             <span>已结算</span>
         @{{#} }}
         
-        @{{#if(d.match_status==2 || d.match_status==3 || d.match_status==5){ }} 
-            <button onclick="resettlement('@{{d.order_id}}','{{$type}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">再结算</button>
+        @{{#if(d.status==2 || d.status==3 || d.status==5){ }} 
+            <button onclick="resettlement('@{{d.order_id}}','{{$type}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">再1结算</button>
         @{{#} }}
-        @{{#if(d.match_status==1){ }} 
+        @{{#if(d.status==1){ }} 
             <button onclick="resettlement('@{{d.order_id}}','{{$type}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">结算</button>
         @{{#} }}
         
@@ -387,47 +387,46 @@
         function addResult($id,$qlgame){
             $(":input",$("#myModal")).each(function(i){  $(this).val('');});
             var did = $id;
-            var qlgame = $qlgame;
+            var qlgame = 1;
             document.getElementById("did").value=$id;//赋值个弹窗
             document.getElementById("qlgame").value=$qlgame;//赋值个弹窗
-            // alert($qlgame);
+            
             $.ajax({
                 type: 'POST',
                 dataType: 'json',
-                url: '/admin/SoccerNoteList/Sairesult',
+                url: '/admin/SoccerNoteList/addend',
                 data: {did:did,qlgame:qlgame},
                 success: function(data) {
-                    // alert(data.singleresult[0].match_winer);
-                    document.getElementById("matchwiner").value=data.singleresult[0].match_winer;
-                    document.getElementById("home_score").value=data.singleresult[0].home_score;
-                    document.getElementById("guest_score").value=data.singleresult[0].guest_score;
-                    document.getElementById("u_guest_score").value=data.singleresult[0].u_guest_score;
-                    document.getElementById("u_home_score").value=data.singleresult[0].u_home_score;
-                    document.getElementById("homeallcard").value=data.singleresult[0].penaltycard.home;
-                    document.getElementById("guestallcard").value=data.singleresult[0].penaltycard.guest;
-                    document.getElementById("homehalfcard").value=data.singleresult[0].penaltycard.home_half;
-                    document.getElementById("guesthalfcard").value=data.singleresult[0].penaltycard.guest_half;
-                    document.getElementById("homeallcorner").value=data.singleresult[0].cornerball.home;
-                    document.getElementById("guestallcorner").value=data.singleresult[0].cornerball.guest;
-                    document.getElementById("homehalfcorner").value=data.singleresult[0].cornerball.home_half;
-                    document.getElementById("guesthalfcorner").value=data.singleresult[0].cornerball.guest_half;
-
-                    firstscore = "<option value='"+ data.singleresult[0].first_score +"' selected=''> ";
-                    if (data.singleresult[0].first_score.length>0){
-                        firstscore += data.singleresult[0].first_score ;
+                    document.getElementById("matchwiner").value=data[0].match_winer;
+                    document.getElementById("home_score").value=data[0].home_score;
+                    document.getElementById("guest_score").value=data[0].guest_score;
+                    document.getElementById("u_guest_score").value=data[0].u_guest_score;
+                    document.getElementById("u_home_score").value=data[0].u_home_score;
+                    document.getElementById("homeallcard").value=data[0].penalty_card.home;
+                    document.getElementById("guestallcard").value=data[0].penalty_card.guest;
+                    document.getElementById("homehalfcard").value=data[0].penalty_card.home_half;
+                    document.getElementById("guesthalfcard").value=data[0].penalty_card.guest_half;
+                    document.getElementById("homeallcorner").value=data[0].corner_ball.home;
+                    document.getElementById("guestallcorner").value=data[0].corner_ball.guest;
+                    document.getElementById("homehalfcorner").value=data[0].corner_ball.home_half;
+                    document.getElementById("guesthalfcorner").value=data[0].corner_ball.guest_half;
+
+                    firstscore = "<option value='"+ data[0].first_score +"' selected=''> ";
+                    if (data[0].first_score.length>0){
+                        firstscore += data[0].first_score ;
                     }else{
                         firstscore += '请选择最先进球';
                     }
-                    firstscore += " </option><option value=" +data.teamname.home_team + ">" + data.teamname.home_team + "</option><option value=" +data.teamname.guest_team + ">" + data.teamname.guest_team + "</option>";
+                    firstscore += " </option><option value=" +data[0].home_team + ">" + data[0].home_team + "</option><option value=" +data[0].guest_team + ">" + data[0].guest_team + "</option>";
                     $("#firstscore").html(firstscore);
 
-                    lastscore = "<option value='"+data.singleresult[0].last_score+"' selected=''>";
-                    if (data.singleresult[0].last_score.length>0){
-                        lastscore += data.singleresult[0].last_score;
+                    lastscore = "<option value='"+data[0].last_score+"' selected=''>";
+                    if (data[0].last_score.length>0){
+                        lastscore += data[0].last_score;
                     }else{
                         lastscore += '请选择最后进球';
                     }
-                    lastscore += "</option><option value=" + data.teamname.home_team + ">" + data.teamname.home_team + "</option><option value=" + data.teamname.guest_team + ">" + data.teamname.guest_team + "</option>";
+                    lastscore += "</option><option value=" + data[0].home_team + ">" + data[0].home_team + "</option><option value=" + data[0].guest_team + ">" + data[0].guest_team + "</option>";
                     $("#lastscore").html(lastscore);
                 }
             }) 
@@ -470,6 +469,7 @@
 
         function buttonClick(){
             var did = $("#did").val();
+            var qlgame = 2;
             var firstscore = $("#firstscore").val();
             var lastscore = $("#lastscore").val();
             var matchwiner = $("#matchwiner").val();
@@ -492,6 +492,7 @@
                 url: '/admin/SoccerNoteList/addend',
                 data: {did:did,firstscore:firstscore,lastscore:lastscore,matchwiner:matchwiner,homeallcard:homeallcard,guestallcard:guestallcard,homehalfcard:homehalfcard,guesthalfcard:guesthalfcard,homeallcorner:homeallcorner,guestallcorner:guestallcorner,homehalfcorner:homehalfcorner,guesthalfcorner:guesthalfcorner,home_score:home_score,guest_score:guest_score,u_guest_score:u_guest_score,u_home_score:u_home_score},
                 success: function(data) {
+                    // alert(data);
                     layer.msg(data.msg);
                     location. reload()//刷新当前页面
                 }