vali 6 년 전
부모
커밋
db0f18feb5
1개의 변경된 파일139개의 추가작업 그리고 107개의 파일을 삭제
  1. 139 107
      app/Lib/Settlement/Adapter/ZqRule.php

+ 139 - 107
app/Lib/Settlement/Adapter/ZqRule.php

@@ -285,30 +285,51 @@ class ZqRule
     //主队|最先进球
     public function first_ball_home($model, $resultModel, $resultRecords)
     {
+        $return = ['result' => 1, 'matchResult' => ''];
         $resultModel = $resultModel['0'];
-        $word = ($resultModel->first_score != '') ? (($resultModel->first_score == $model->home_team) ? '1:0' : '0:1') : '0:0';
-        $word .= '(主客)';
-
-        if (trim($resultModel->first_score) == trim($resultModel->home_team)) {
-            return ['result' => 1, 'matchResult' => $word];
+        $resArray = json_decode($resultModel->first_score, true);
+        if ($resArray && isset($resArray['teamscore'])) {
+            if ($resArray['teamscore'] == '') {
+                $word = '0:0';
+                $return['result'] = -1;
+            } elseif ($resArray['teamscore'] == $resultModel->home_team) {
+                $word = '1:0';
+                $return['result'] = 1;
+            } else {
+                $word = '0:1';
+                $return['result'] = -1;
+            }
         } else {
-            return ['result' => -1, 'matchResult' => $word];
+            $word = '0:0';
+            $return['result'] = -1;
         }
-
+        $return['matchResult'] = $word;
+        return $return;
     }
 
     //客队|最先进球
     public function first_ball_guest($model, $resultModel, $resultRecords)
     {
+        $return = ['result' => 1, 'matchResult' => ''];
         $resultModel = $resultModel['0'];
-        $word = ($resultModel->first_score != '') ? (($resultModel->first_score == $model->guest_team) ? '0:1' : '1:0') : '0:0';
-        $word .= '(主客)';
-
-        if (trim($resultModel->first_score) == trim($resultModel->guest_team)) {
-            return ['result' => 1, 'matchResult' => $word];
+        $resArray = json_decode($resultModel->first_score, true);
+        if ($resArray && isset($resArray['teamscore'])) {
+            if ($resArray['teamscore'] == '') {
+                $word = '0:0';
+                $return['result'] = -1;
+            } elseif ($resArray['teamscore'] == $resultModel->guest_team) {
+                $word = '0:1';
+                $return['result'] = 1;
+            } else {
+                $word = '1:0';
+                $return['result'] = -1;
+            }
         } else {
-            return ['result' => -1, 'matchResult' => $word];
+            $word = '0:0';
+            $return['result'] = -1;
         }
+        $return['matchResult'] = $word;
+        return $return;
 
     }
 
@@ -1161,7 +1182,8 @@ class ZqRule
      * Date: 2019/6/28
      * Time: 10:19
      */
-    public function sw_DC($bet_match='', $result_match=[], $result_match_r=[]){
+    public function sw_DC($bet_match = '', $result_match = [], $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1204,7 +1226,8 @@ class ZqRule
      * Date: 2019/6/28
      * Time: 10:19
      */
-    public function sw_W3($bet_match='', $result_match='', $result_match_r=[]){
+    public function sw_W3($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1249,13 +1272,14 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 零失球
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_CS($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 零失球
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_CS($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1291,13 +1315,14 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 零失球获胜
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_WN($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 零失球获胜
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_WN($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1333,13 +1358,14 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 赢得所有半场
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_WB($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 赢得所有半场
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_WB($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1380,13 +1406,14 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 赢得任一半场
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_WE($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 赢得任一半场
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_WE($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1427,13 +1454,14 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 双半场进球
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_SB($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 双半场进球
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_SB($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1474,20 +1502,21 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 最多进球半场
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_HG($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 最多进球半场
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_HG($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
         //获取父/子级赔率代码
         $p_code = $bet_match->p_code;
         $odds_code = $bet_match->odds_code;
-       
+
         //获取主客队全场比分
         $full_home_score = $result_match->home_score;
         $full_guest_score = $result_match->guest_score;
@@ -1511,11 +1540,11 @@ class ZqRule
         switch ($odds_code) {
             case 'ior_HGH':// 最多进球半场|上半场
                 //主队+客队上半场 > 主队+客队下半场
-                if (($half_home_score+$half_guest_score) > ($lower_home_score+$lower_guest_score)) return $data;
+                if (($half_home_score + $half_guest_score) > ($lower_home_score + $lower_guest_score)) return $data;
                 break;
             case 'ior_HGC':// 最多进球半场|下半场
                 //主队+客队上半场 < 主队+客队下半场
-                if (($half_home_score+$half_guest_score) < ($lower_home_score+$lower_guest_score)) return $data;
+                if (($half_home_score + $half_guest_score) < ($lower_home_score + $lower_guest_score)) return $data;
                 break;
             default:
                 return false;
@@ -1525,13 +1554,14 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 最多进球半场-独赢
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_MG($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 最多进球半场-独赢
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_MG($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
@@ -1562,11 +1592,11 @@ class ZqRule
         switch ($odds_code) {
             case 'ior_MGH':// 最多进球半场-独赢|上半场
                 //主队+客队上半场 > 主队+客队下半场  and 主队 独赢
-                if (($half_home_score+$half_guest_score) > ($lower_home_score+$lower_guest_score) and $full_home_score > $full_guest_score) return $data;
+                if (($half_home_score + $half_guest_score) > ($lower_home_score + $lower_guest_score) and $full_home_score > $full_guest_score) return $data;
                 break;
             case 'ior_MGC':// 最多进球半场-独赢|下半场
                 //主队+客队上半场 < 主队+客队下半场  and 主队 独赢
-                if (($half_home_score+$half_guest_score) < ($lower_home_score+$lower_guest_score) and $full_home_score > $full_guest_score) return $data;
+                if (($half_home_score + $half_guest_score) < ($lower_home_score + $lower_guest_score) and $full_home_score > $full_guest_score) return $data;
                 break;
             case 'ior_MGN':// 最多进球半场-独赢|和局
                 //全场主队 == 全场客队
@@ -1580,20 +1610,21 @@ class ZqRule
         return $data;
     }
 
-     /*
-     * 首个进球时间
-     * User: Tank
-     * Date: 2019/6/28
-     * Time: 10:19
-     */
-    public function sw_T1G($bet_match='', $result_match='', $result_match_r=[]){
+    /*
+    * 首个进球时间
+    * User: Tank
+    * Date: 2019/6/28
+    * Time: 10:19
+    */
+    public function sw_T1G($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
         //获取父/子级赔率代码
         $p_code = $bet_match->p_code;
         $odds_code = $bet_match->odds_code;
-        
+
         //获取 首进球 时间
         $first_score = json_decode($result_match->first_score, true);
         $first_time_int = $first_score['scoretime'];//$result_match;//{"teamscore":0,"scoretime":0,"scoretype":0}
@@ -1613,26 +1644,26 @@ class ZqRule
 
         switch ($odds_code) {
             case 'ior_T1G1'://上半场开场-14:59分钟
-                if($first_time_int < 15) return $data;
+                if ($first_time_int < 15) return $data;
                 break;
             case 'ior_T1G2'://15:00分钟-29:59分钟
-                if(15 <= $first_time_int and $first_time_int < 30) return $data;
+                if (15 <= $first_time_int and $first_time_int < 30) return $data;
                 break;
             case 'ior_T1G3'://30:00分钟-半场
-                if(30 <= $first_time_int and $first_time_int < 45) return $data;
+                if (30 <= $first_time_int and $first_time_int < 45) return $data;
                 break;
             case 'ior_T1G4'://下半场开场-59:59分钟
-                if(45 <= $first_time_int and $first_time_int < 60) return $data;
+                if (45 <= $first_time_int and $first_time_int < 60) return $data;
                 break;
             case 'ior_T1G5'://60:00分钟-74:59分钟
-                if(60 <= $first_time_int and $first_time_int < 75) return $data;
+                if (60 <= $first_time_int and $first_time_int < 75) return $data;
                 break;
             case 'ior_T1G6'://75:00分钟-全场完场
-                if(75 <= $first_time_int and $first_time_int < 90) return $data;
+                if (75 <= $first_time_int and $first_time_int < 90) return $data;
                 break;
             case 'ior_T1GN'://无进球
                 $data['matchResult'] = '没有进球';
-                if($first_time_int == 0) return $data;
+                if ($first_time_int == 0) return $data;
                 break;
             default:
                 return false;
@@ -1648,14 +1679,15 @@ class ZqRule
      * Date: 2019/6/28
      * Time: 10:19
      */
-    public function sw_T3G($bet_match='', $result_match='', $result_match_r=[]){
+    public function sw_T3G($bet_match = '', $result_match = '', $result_match_r = [])
+    {
         if (empty($bet_match) || empty($result_match)) return false;
 
         $result_match = $result_match['0'];
         //获取父/子级赔率代码
         $p_code = $bet_match->p_code;
         $odds_code = $bet_match->odds_code;
-        
+
         //获取 首进球 时间
         $first_score = json_decode($result_match->first_score, true);
         $first_time_int = $first_score['scoretime'];//$result_match;//{"teamscore":0,"scoretime":0,"scoretype":0}
@@ -1676,14 +1708,14 @@ class ZqRule
 
         switch ($odds_code) {
             case 'ior_T3G1'://第26分钟或之前
-                if($first_time_int <= 26) return $data;
+                if ($first_time_int <= 26) return $data;
                 break;
             case 'ior_T3G2'://第27分钟或之后
-                if(27 <= $first_time_int) return $data;
+                if (27 <= $first_time_int) return $data;
                 break;
             case 'ior_T1GN'://无进球
                 $data['matchResult'] = '没有进球';
-                if($first_time_int == 0) return $data;
+                if ($first_time_int == 0) return $data;
                 break;
             default:
                 return false;
@@ -1733,7 +1765,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string 
+     * @return string
      * 注:大1.5|和局 主队-客队大于1.5 并且为和局  小1.5|和局 主队-客队小于1.5 并且为和局
      */
     public function sw_MOU($model, $resultModels, $resultRecords)
@@ -1821,13 +1853,13 @@ class ZqRule
         return $returnDatas;
     }
 
-     /**
+    /**
      * 独赢&双方球队进球
      * @param mixed $model 注单表数据
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string 
+     * @return string
      */
     public function sw_MTS($model, $resultModels, $resultRecords)
     {
@@ -1864,13 +1896,13 @@ class ZqRule
 
     }
 
-     /**
+    /**
      * 进球大/小&双方球队进球
      * @param mixed $model 注单表数据
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string 
+     * @return string
      */
     public function sw_OUT($model, $resultModels, $resultRecords)
     {
@@ -1940,7 +1972,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string  ??? 
+     * @return string  ???
      */
     public function sw_MPG($model, $resultModels, $resultRecords)
     {
@@ -1948,9 +1980,9 @@ class ZqRule
         $allword = array(
             'score' => $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)",
             'one_score' => $resultModel->first_score,//首进球
-        ); 
-            
-        $odds_code = $model->odds_code; 
+        );
+
+        $odds_code = $model->odds_code;
         switch ($odds_code) {
             case "ior_MPGHH":
                 $returnDatas = $this->firstball($resultModel, $model, ior_MPGHH, $allword);
@@ -1990,12 +2022,12 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string  
+     * @return string
      */
     public function sw_FG($model, $resultModels, $resultRecords)
     {
         $resultModels = $resultModels['0'];
-        $word = json_decode($resultModels->first_score,true)['scoretype'] . "(首个进球方式)";
+        $word = json_decode($resultModels->first_score, true)['scoretype'] . "(首个进球方式)";
 
         $odds_code = $model->odds_code;
         switch ($odds_code) {
@@ -2028,7 +2060,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string    
+     * @return string
      */
     public function sw_DU($model, $resultModels, $resultRecords)
     {
@@ -2122,7 +2154,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string    
+     * @return string
      */
     public function sw_DS($model, $resultModels, $resultRecords)
     {
@@ -2162,7 +2194,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string   
+     * @return string
      */
     public function sw_DG($model, $resultModels, $resultRecords)
     {
@@ -2170,7 +2202,7 @@ class ZqRule
         $word = array(
             'home' => $resultModels->home_score . "(主队全场)",
             'guest' => $resultModels->guest_score . "(客队全场)",
-            'firstscore' => $resultModels->first_score ."(最先进球)", 
+            'firstscore' => $resultModels->first_score . "(最先进球)",
         );
 
         $odds_code = $model->odds_code;
@@ -2204,7 +2236,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string 
+     * @return string
      */
     public function sw_OUE($model, $resultModels, $resultRecords)
     {
@@ -2272,7 +2304,7 @@ class ZqRule
      * @param mixed $resultModels 结果表数据
      * @param mixed $resultRecords 结果记录表数据
      * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
-     * @return string 
+     * @return string
      */
     public function sw_OUP($model, $resultModels, $resultRecords)
     {
@@ -2281,7 +2313,7 @@ class ZqRule
             'score' => $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)",
             'firstscore' => $resultModels->first_score,
         );
-            
+
         $odds_code = $model->odds_code;
         switch ($odds_code) {
             case "ior_OUPAOH":