彭俊 6 éve
szülő
commit
34043715fe

+ 0 - 2
app/Http/Controllers/Api/WriteSportsController.php

@@ -2015,8 +2015,6 @@ class WriteSportsController extends BaseController
                         $game_start_time = $model['model_result']::where(['match_id' => $v['match_id']])->first()->start_time;
                         //开赛时间 时间戳
                         $game_start_time_unx = strtotime($game_start_time);
-
-                       
                         //===如果赛事已结束 并且 开赛时间< 当前时间-各球类处理时间 ===
                         if($vv['status'] == 2 and $game_start_time_unx < (time() - $handle_time)){
                             // 新增 更新 赛事结果

+ 13 - 0
app/Http/Model/StBqResult.php

@@ -271,6 +271,7 @@ class StBqResult extends Model
          //如果有赛事id 则只更新当前赛事结果
          if($match_id > 0){
             $match_ids_str = $match_id;
+            $match_ids = [$match_id];
         }else{
             //获取两天内的结束赛事
             $matchData = $model['model_match']
@@ -295,6 +296,14 @@ class StBqResult extends Model
 
             $match_ids_str = implode(",", $match_ids);
         }
+         //如果有赛事id 获取结果中的手动数据
+         if(!empty($match_ids)){
+            $manual_result_data = self::select('match_id','manual_result')
+            ->whereIn('match_id',$match_ids)
+            ->get()
+            ->toArray();
+        }
+
          // 组装sql
          $sql_result = "select a.match_id,a.home_team,a.guest_team,a.home_score,a.guest_score,a.match_time as a_time,a.match_process,a.all_inning,a.first_score,a.last_score,a.match_score,a.match_winer,a.home_rate,a.guest_rate,a.result_mark from st_bq_result_record a,
          (select match_id,max(id) id from st_bq_result_record where match_id IN ($match_ids_str) group by match_id)b
@@ -379,6 +388,9 @@ class StBqResult extends Model
 
                     //总进球数
                     $all_goal = $result_mark['game_num_H'] + $result_mark['game_num_C'];
+
+                    //===追加获取手动结果数据=== 
+                    $manual_result_json = commonFunction::getManual_result($manual_result_data,$inning,$v->match_id);
                    
                     //赛事待写入赛果数据
                     $set_match_r = [
@@ -400,6 +412,7 @@ class StBqResult extends Model
                         "u_guest_score"=> $u_guest_score ,//上半场客队进球
                         "match_score_t"=> json_encode($inning)?:'',//每局输赢结果
                         "is_correct"=> -1,//自动比分
+                        "manual_result"=> $manual_result_json,//手动结果
                     ];    
 
                     $ret = $model['model_result']::where(['match_id' => $v->match_id,'is_correct'=>-1])

+ 18 - 3
app/Http/Model/StLqResult.php

@@ -271,6 +271,7 @@ class StLqResult extends Model
         //如果有赛事id 则只更新当前赛事结果
         if($match_id > 0){
             $match_ids_str = $match_id;
+            $match_ids = [$match_id];
         }else{
             //获取两天内的结束赛事
             $matchData = $model['model_match']
@@ -296,6 +297,15 @@ class StLqResult extends Model
             $match_ids_str = implode(",", $match_ids);
         }
 
+         //如果有赛事id 获取结果中的手动数据
+         if(!empty($match_ids)){
+            $manual_result_data = self::select('match_id','manual_result')
+            ->whereIn('match_id',$match_ids)
+            ->get()
+            ->toArray();
+        }
+
+
         //拼接sql
         $sql_result = "select a.match_id,a.home_team,a.guest_team,a.home_score,a.guest_score,a.match_time as a_time,a.home_rate,a.guest_rate,a.match_process,a.first_score,a.last_score,a.match_score,a.match_winer,a.result_mark from st_lq_result_record a,
         (select match_id,max(id) id from st_lq_result_record where  match_id IN ($match_ids_str) group by match_id)b
@@ -340,7 +350,7 @@ class StLqResult extends Model
                 //拼接赛事主客队比分
                 $inning = [
                     1=>[
-                        "home"=>$mark_result['sc_1th_H'],
+                        "home"=>1231,//$mark_result['sc_1th_H'],
                         "guest"=>$mark_result['sc_1th_C'],
                     ],
                     2=>[
@@ -355,11 +365,11 @@ class StLqResult extends Model
                         "home"=>$mark_result['sc_4th_H'],
                         "guest"=>$mark_result['sc_4th_C'],
                     ],
-                    5=>[
+                    5=>[//上半场
                         "home"=>$mark_result['sc_1th_H']+$mark_result['sc_2th_H'],
                         "guest"=>$mark_result['sc_1th_C']+$mark_result['sc_2th_C'],
                     ],
-                    6=>[
+                    6=>[//下半场
                         "home"=>$mark_result['sc_3th_H']+$mark_result['sc_4th_H'],
                         "guest"=>$mark_result['sc_3th_C']+$mark_result['sc_4th_C'],
                     ],
@@ -369,6 +379,10 @@ class StLqResult extends Model
                     ],
 
                 ];
+                
+                //===追加获取手动结果数据=== 
+                $manual_result_json = commonFunction::getManual_result($manual_result_data,$inning,$v->match_id);
+
                 //赛事待写入赛果数据
                 $set_match_r = [
                     "match_id"=> $v->match_id,
@@ -389,6 +403,7 @@ class StLqResult extends Model
                     "u_home_score"=> $mark_result['half_H']?:0,//上半场主队进球数
                     "u_guest_score"=> $mark_result['half_C']?:0,//上半场客队进球数
                     "is_correct"=> -1,//自动比分
+                    "manual_result"=> $manual_result_json,//手动结果
 
                 ];  
 

+ 14 - 3
app/Http/Model/StWqResult.php

@@ -289,6 +289,7 @@ class StWqResult extends Model
         //如果有赛事id 则只更新当前赛事结果
         if($match_id > 0){
             $match_ids_str = $match_id;
+            $match_ids = [$match_id];
         }else{
 
             //获取两天内的结束赛事
@@ -315,6 +316,14 @@ class StWqResult extends Model
             $match_ids_str = implode(",", $match_ids);
         }
 
+         //如果有赛事id 获取结果中的手动数据
+         if(!empty($match_ids)){
+            $manual_result_data = self::select('match_id','manual_result')
+            ->whereIn('match_id',$match_ids)
+            ->get()
+            ->toArray();
+        }
+
         //组装sql 
         //获取赛事最终赛果
         $sql_result = "select a.match_id,a.home_player_name,a.guest_player_name,a.home_player_score,a.guest_player_score,a.match_time as a_time,a.home_player_let_plate,a.guest_player_let_plate,a.home_player_let_inning,a.guest_player_let_inning,a.all_inning,a.match_process,a.first_score_player,a.last_score_player,a.first_inning_score,a.second_inning_score,a.third_inning_score,a.match_winer_player,a.result_mark from st_wq_result_record a,
@@ -379,9 +388,11 @@ class StWqResult extends Model
 
                     //赛事比分
                     $match_score = $result_mark['game_num_H'].':'.$result_mark['game_num_C'];
-                   
+
+                    //===追加获取手动结果数据=== 
+                    $manual_result_json = commonFunction::getManual_result($manual_result_data,$inning,$v->match_id);
+                    
                     //赛事待写入赛果数据
-                   
                     $set_match_r = [
                         "match_id"=> $v->match_id,
                         "status"=>2,
@@ -404,7 +415,7 @@ class StWqResult extends Model
                         "match_process"=> $match_process?:'',//比赛进程
                         "inning"=> json_encode($inning)?:'',//每局输赢结果
                         "is_correct"=> -1,//自动比分
-
+                        "manual_result"=> $manual_result_json,//手动结果
                     ]; 
 
                     $ret = $model['model_result']::where(['match_id' => $v->match_id,'is_correct'=>-1])

+ 76 - 68
app/Http/Model/StZqResult.php

@@ -367,7 +367,7 @@ class StZqResult extends Model
         }
 
         //如果有赛事id 获取结果中的手动数据
-        if(!empty($match_ids_str)){
+        if(!empty($match_ids)){
             $manual_result_data = self::select('match_id','manual_result')
             ->whereIn('match_id',$match_ids)
             ->get()
@@ -430,72 +430,9 @@ class StZqResult extends Model
                 
                 }
 
-                //===追加拼接手动结果数据=== 
-                $resultData = commonFunction::filter_by_value($manual_result_data,'match_id',$v['match_id']);
-                //手动结果数据 json
-                $manual_result_json = $resultData['manual_result'];
-                //手动结果数据 arr
-                $manual_result_arr = json_decode($manual_result_json,true);
-
-                //拼接手动数据
-                foreach($manual_result_arr as $kk=>$vv){
-                    //上半场角球
-                    if($kk == 'half_corner'){
-                        //赋值 上半场角球
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['home'] = 0;
-                            $vv['guest'] = 0;
-                        }
-                    }
-                    //全场角球
-                    if($kk == 'all_corner'){
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['home'] = 0;
-                            $vv['guest'] = 0;
-                        }
-                    }
-                    //上半场比分
-                    if($kk == 'half'){
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['home'] = $v['u_home_score']?:0;
-                            $vv['guest'] = $v['u_guest_score']?:0;
-                        }
-                    }
-                    //全场比分
-                    if($kk == 'all'){
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['home'] = $v['home_score']?:0;
-                            $vv['guest'] = $v['guest_score']?:0;
-                        }
-                    }
-                    //上半场罚牌
-                    if($kk == 'half_penalty'){
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['home'] = 0;
-                            $vv['guest'] = 0;
-                        }
-                    }
-
-                    //全场罚牌
-                    if($kk == 'all_penalty'){
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['home'] = 0;
-                            $vv['guest'] = 0;
-                        }
-                    }
-                    //首进球时间
-                    if($kk == 'first_score'){
-                        if(empty($vv['home']) || empty($vv['guest'])){
-                            $vv['time'] = 0;
-                        }
-                    }
-
-                    $manual_result_arr[$kk] =$vv;
-                }
-                //转回json
-                $manual_result_json = json_encode($manual_result_arr);
-                //===end===
-
+                //===追加获取手动结果数据=== 
+                $manual_result_json = self::getManual_result($manual_result_data,$v,$v['match_id']);
+              
                 $set_match_r = [
                     "match_id"=> $v['match_id'],
                     "update_time"=>date('Y-m-d H:i:s'),
@@ -515,7 +452,6 @@ class StZqResult extends Model
                     "is_correct"=> -1,//自动比分
                     "manual_result"=> $manual_result_json,//手动结果
                 ];     
-                
                 $ret = $model['model_result']::where(['match_id' => $v['match_id'],'is_correct'=>-1])
                     ->update($set_match_r);
       
@@ -526,6 +462,78 @@ class StZqResult extends Model
         return 1;
     }
 
+    /**
+     * 处理 拼接手动结果数据
+     * $manual_result_data arr 多个赛事手动结果数据
+     * $match_id int 赛事id
+     */
+    public static function getManual_result($manual_result_data,$auto_result,$match_id){
+        $resultData = commonFunction::filter_by_value($manual_result_data,'match_id',$match_id);
+        //手动结果数据 json
+        $manual_result_json = $resultData['manual_result'];
+        //手动结果数据 arr
+        $manual_result_arr = json_decode($manual_result_json,true);
+
+        //拼接手动数据
+        foreach($manual_result_arr as $kk=>$vv){
+            //上半场角球
+            if($kk == 'half_corner'){
+                //赋值 上半场角球
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['home'] = 0;
+                    $vv['guest'] = 0;
+                }
+            }
+            //全场角球
+            if($kk == 'all_corner'){
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['home'] = 0;
+                    $vv['guest'] = 0;
+                }
+            }
+            //上半场比分
+            if($kk == 'half'){
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['home'] = $auto_result['u_home_score']?:0;
+                    $vv['guest'] = $auto_result['u_guest_score']?:0;
+                }
+            }
+            //全场比分
+            if($kk == 'all'){
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['home'] = $auto_result['home_score']?:0;
+                    $vv['guest'] = $auto_result['guest_score']?:0;
+                }
+            }
+            //上半场罚牌
+            if($kk == 'half_penalty'){
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['home'] = 0;
+                    $vv['guest'] = 0;
+                }
+            }
+
+            //全场罚牌
+            if($kk == 'all_penalty'){
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['home'] = 0;
+                    $vv['guest'] = 0;
+                }
+            }
+            //首进球时间
+            if($kk == 'first_score'){
+                if(empty($vv['home']) || empty($vv['guest'])){
+                    $vv['time'] = 0;
+                }
+            }
+
+            $manual_result_arr[$kk] =$vv;
+        }
+        //转回json
+        $manual_result_json = json_encode($manual_result_arr);
+
+        return $manual_result_json;
+    }
 
     //计算滚球 赛事进行时间
     public static function secTime($sec=0){

+ 33 - 0
app/Lib/Biz/Sport/Common.php

@@ -1970,6 +1970,39 @@ class Common
          return 0;
         }
     }
+
+     /**
+     * 处理 拼接手动结果数据
+     * $manual_result_data arr 多个赛事手动结果数据
+     * $match_id int 赛事id
+     * $auto_result arr 自动结果
+     */
+    public static function getManual_result($manual_result_data,$auto_result,$match_id){
+        $resultData = self::filter_by_value($manual_result_data,'match_id',$match_id);
+        //手动结果数据 json
+        $manual_result_json = $resultData['manual_result'];
+        //手动结果数据 arr
+        $manual_result_arr = json_decode($manual_result_json,true);
+
+        //拼接手动数据
+        foreach($manual_result_arr as $k=>$v){
+            foreach($auto_result as $kk=>$vv){
+                //赋值 
+                if($k == $kk){
+                    if(empty($v['home']) || empty($v['guest'])){
+                        $v['home'] = $vv['home']?:0;
+                        $v['guest'] = $vv['guest']?:0;
+                    }
+                }
+            }
+           
+            $manual_result_arr[$k] =$v;
+        }
+        //转回json
+        $manual_result_json = json_encode($manual_result_arr);
+
+        return $manual_result_json;
+    }
 }
 
 ?>