浏览代码

异常处理

彭俊 6 年之前
父节点
当前提交
8a572cb799
共有 1 个文件被更改,包括 38 次插入164 次删除
  1. 38 164
      app/Lib/Settlement/Adapter/ZqRule.php

+ 38 - 164
app/Lib/Settlement/Adapter/ZqRule.php

@@ -22,9 +22,14 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function concede_home($model, $resultModel, $resultRecords)
+    public function concede_home($model, $resultModels, $resultRecords)
     {
-        return $this->concedeFull($model, $resultModel, $resultRecords, 1);
+        $resultModel = $resultModels['0'];
+        $home = intval($resultModel->home_score);
+        $guest = intval($resultModel->guest_score);
+        $word = $home.'-'.$guest.'(全场)';
+        $ret = $this->zq_letball($home,$model->condition,$word);
+        return $ret;
     }
 
     /**
@@ -34,84 +39,16 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function concede_guest($model, $resultModel, $resultRecords)
+    public function concede_guest($model, $resultModels, $resultRecords)
     {
-        return $this->concedeFull($model, $resultModel, $resultRecords, 2);
+        $resultModel = $resultModels['0'];
+        $home = intval($resultModel->home_score);
+        $guest = intval($resultModel->guest_score);
+        $word = $home.'-'.$guest.'(全场)';
+        $ret = $this->zq_letball($guest,$model->condition,$word);
+        return $ret;
     }
 
-    /**
-     * 全场|[主、客]|让球
-     * @param mixed $model 注单表数据
-     * @param mixed $resultModel 结果表数据
-     * @param mixed $resultRecords 结果记录表数据
-     * @param mixed $type 1:代表主队让球   2:代表客队让球
-     * @param mixed $size 1:大 -1:小(如果是让球大小玩法才传入该字段)
-     * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
-     */
-    public function concedeFull($model, $resultModel, $resultRecords, $type, $size = '')
-    {
-        $resultModel = $resultModel['0'];
-        // 主队得分
-        $homeScore = intval($resultModel->home_score);
-        // 客队得分
-        $guestScore = intval($resultModel->guest_score);
-        $difference = 0;
-        // 分差 - 主 :客
-        if ($type == 1) {
-            $difference = $homeScore - $guestScore;
-        } else {
-            // 分差 - 客 :主
-            $difference = $guestScore - $homeScore;
-        }
-        // 让球个数
-        $condition = explode("/", $model->condition);
-        $resultArr = [];
-        // 循环对比让球后输赢
-        foreach ($condition as $value) {
-            $absValue = abs($value);
-            if (substr($model->condition, 0, 1) == '-') {
-                $resultScore = $difference - $absValue;
-            } else {
-                $resultScore = $difference + $absValue;
-            }
-            if ($resultScore > 0) {
-                $resultArr[] = 1;
-            } elseif ($resultScore < 0) {
-                $resultArr[] = -1;
-            } else {
-                $resultArr[] = 2;
-            }
-        }
-        // 去重
-        $resultUniqueArr = array_unique($resultArr);
-        // 循环对比让球后输赢
-        $count = count($resultUniqueArr);
-        if ($size == -1) {
-            if ($count == 1) {
-                if ($resultUniqueArr[0] == 1) {
-                    $data['result'] = -1;
-                } elseif ($resultUniqueArr[0] == 2) {
-                    $data['result'] = 2;
-                } else {
-                    $data['result'] = 1;
-                }
-            } elseif (in_array(1, $resultUniqueArr)) {
-                $data['result'] = 4;
-            } else {
-                $data['result'] = 3;
-            }
-        } else {
-            if ($count == 1) {
-                $data['result'] = $resultUniqueArr[0];
-            } elseif (in_array(1, $resultUniqueArr)) {
-                $data['result'] = 3;
-            } else {
-                $data['result'] = 4;
-            }
-        }
-        $data['matchResult'] = "$homeScore-$guestScore(全场)";
-        return $data;
-    }
 
     /**
      * 上半场|主队|让球
@@ -120,9 +57,14 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function half_concede_home($model, $resultModel, $resultRecords)
+    public function half_concede_home($model, $resultModels, $resultRecords)
     {
-        return $this->concedeHalf($model, $resultModel, $resultRecords, 1, 1);
+        $resultModel = $resultModels['0'];
+        $home = intval($resultModel->u_home_score);
+        $guest = intval($resultModel->u_guest_score);
+        $word = $home.'-'.$guest.'(上半场)';
+        $ret = $this->zq_letball($home,$model->condition,$word);
+        return $ret;
     }
 
     /**
@@ -132,92 +74,17 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function half_concede_guest($model, $resultModel, $resultRecords)
-    {
-        return $this->concedeHalf($model, $resultModel, $resultRecords, 2, 1);
-    }
-
-
-    /**
-     * 半场|[主、客]|让球
-     * @param mixed $model 注单表数据
-     * @param mixed $resultModel 结果表数据
-     * @param mixed $resultRecords 结果记录表数据
-     * @param mixed $whoType 1:代表主队让球   2:代表客队让球
-     * @param mixed $halfType 1:上半场   2:下半场
-     * @param mixed $size 1:大 -1:小(如果是让球大小玩法才传入该字段)
-     * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
-     */
-    public function concedeHalf($model, $resultModel, $resultRecords, $whoType, $halfType)
+    public function half_concede_guest($model, $resultModels, $resultRecords)
     {
-        $resultModel = $resultModel['0'];
-        $returnDatas = ['result' => -1, 'matchResult' => ''];
-        if ($halfType == 1) {
-            $scoreArr = ['home' => $resultModel->u_home_score, 'guest' => $resultModel->u_guest_score];
-            $returnDatas['matchResult'] = $scoreArr['home'] . '-' . $scoreArr['guest'] . "(上半场)";
-        } else {
-            $scoreArr = ['home' => $resultModel->home_score - $resultModel->u_home_score, 'guest' => $resultModel->guest_score - $resultModel->u_guest_score];
-            $returnDatas['matchResult'] = $scoreArr['home'] . '-' . $scoreArr['guest'] . "(下半场)";
-        }
-        $hasFH = in_array(substr($model->condition, 0, 1), ['+', '-']);
-        if ($hasFH) {
-            $condArr = explode("/", substr($model->condition, 1));
-            $FH = substr($model->condition, 0, 1);
-        } else {
-            $condArr = explode("/", $model->condition);
-            $FH = '+';
-        }
-        $smin = $smax = 0;
-
-        if (count($condArr) == 1) {
-            if ($whoType == 1) {
-                $smin = $scoreArr['home'] - $scoreArr['guest'] + (($FH == "+") ? -1 : 1) * $condArr[0];
-            } else {
-                $smin = $scoreArr['guest'] - $scoreArr['home'] + (($FH == "+") ? -1 : 1) * $condArr[0];
-            }
-            if ($smin > 0) {
-                $returnDatas['result'] = 1;
-            } elseif ($smin == 0) {
-                $returnDatas['result'] = 2;
-            } else {
-                $returnDatas['result'] = -1;
-            }
-            return $returnDatas;
-        }
-
-        if ($whoType == 1) {
-            $smin = $scoreArr['home'] - $scoreArr['guest'] + (($FH == "+") ? -1 : 1) * $condArr[0];
-            $smax = $scoreArr['home'] - $scoreArr['guest'] + (($FH == "+") ? -1 : 1) * $condArr[1];
-        } else {
-            $smin = $scoreArr['guest'] - $scoreArr['home'] + (($FH == "+") ? -1 : 1) * $condArr[0];
-            $smax = $scoreArr['guest'] - $scoreArr['home'] + (($FH == "+") ? -1 : 1) * $condArr[1];
-        }
-        ($smin > $smax) ? $this->exchage($smin, $smax) : '';
-
-        if ($smin > 0) {
-            $returnDatas['result'] = 1;
-        } elseif ($smin == 0) {
-            if ($smax > 0) {
-                $returnDatas['result'] = 3;
-            } else {
-                $returnDatas['result'] = 4;
-            }
-        } else {
-            if ($smax == 0) {
-                $returnDatas['result'] = 4;
-            }
-        }
-        return $returnDatas;
-    }
+        $resultModel = $resultModels['0'];
+        $home = intval($resultModel->u_home_score);
+        $guest = intval($resultModel->u_guest_score);
+        $word = $home.'-'.$guest.'(上半场)';
+        $ret = $this->zq_letball($guest,$model->condition,$word);
+        return $ret;
 
-    private function exchage(&$num1, &$num2)
-    {
-        $tmp = $num2;
-        $num2 = $num1;
-        $num1 = $tmp;
     }
 
-
     /**
      * 进球|全场|大
      * @param mixed $model 注单表数据
@@ -226,9 +93,16 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function goal_size_home($model, $resultModel, $resultRecords)
+    public function goal_size_home($model, $resultModels, $resultRecords)
     {
-        return $this->sizeFull($model, $resultModel, $resultRecords, 0, 1);
+        $resultModel = $resultModels['0'];
+        $home = intval($resultModel->u_home_score);
+        $guest = intval($resultModel->u_guest_score);
+        $total = $home +$guest;
+        $word = $home.'-'.$guest.'(全场)';
+        $ret = $this->zq_inball_bigsmall($total,$model->condition,2,$word);
+        return $ret;
+        //return $this->sizeFull($model, $resultModel, $resultRecords, 0, 1);
     }
 
     /**
@@ -412,7 +286,7 @@ class ZqRule
         $return['matchResult'] = $word;
         return $return;
     }
-    
+
     /**
      * 上半场|主队|独赢
      * @param mixed $model 注单表数据