stanley-king 3 年之前
父節點
當前提交
989633417b
共有 2 個文件被更改,包括 15 次插入7 次删除
  1. 12 5
      helper/refill/policy/quaility.php
  2. 3 2
      helper/refill/policy/xyz/quality_ploy.php

+ 12 - 5
helper/refill/policy/quaility.php

@@ -18,12 +18,15 @@ class Quality
     const SlowSix = 6;
     const SlowTwo = 7;
 
-
     const SlowNormal  = 11;  // 7 -> 1
     const ThirdNormal  = 12; // 4 -> 1
     const DefSuccess = 13;   // 4 -> 3 -> 1 -> 2
     const NormalQuick = 14;
 
+    const OilWithoutSN = 1;
+    const OilWithSN    = 5;
+    const OilSN_TURN   = 20;
+
     protected $mMchPhonectl;
     protected $mMchoilctl;
     protected $mSpeeds;
@@ -47,14 +50,14 @@ class Quality
             return $this->mobile_quality($mchid, $quality, $times, $used_time);
         }
         elseif($card_type == mtopcard\PetroChinaCard || $card_type == mtopcard\SinopecCard) {
-            return $this->oil_quality($mchid, $quality, $times,$caller);
+            return $this->oil_quality($mchid, $quality, $times,$used_time,$caller);
         }
         else {
             return [0, []];
         }
     }
 
-    private function oil_quality($mchid, $quality, $times, $caller): array
+    private function oil_quality($mchid, $quality, $times,$used_time,$caller): array
     {
         Log::record("oil_quality mchid={$mchid},quality={$quality},times={$times}",Log::DEBUG);
         if($quality == 0)
@@ -85,15 +88,19 @@ class Quality
             return [0,[]];
         }
 
-        $qualities = $this->calc_oil_quality($qualities,$times,$caller);
+        $qualities = $this->calc_oil_quality($qualities,$times,$used_time,$caller);
 
         return [$org,$qualities];
     }
 
     //通过每种类型通道耗时,倒推当前可用通道,并优先走推荐通道.
-    private function calc_oil_quality($qualities, $times, $caller)
+    private function calc_oil_quality($qualities, $times, $used_time, $caller)
     {
         $result = [];
+        if($used_time > 900) {
+            return $result;
+        }
+
         $total_times = 0;
         foreach ($qualities as $quality)
         {

+ 3 - 2
helper/refill/policy/xyz/quality_ploy.php

@@ -14,7 +14,6 @@ class quality_ploy extends Quality
             self::Quick => ['retry_times' => 2,'retry_timeout' => 60,'per_secs' => 30],
             self::CardKey => ['retry_times' => 1,'retry_timeout' => 120,'per_secs' => 60],
             self::ThirdShop => ['retry_times' => 1,'retry_timeout' => 900,'per_secs' => 600],
-
             self::SlowTwentyFour => ['retry_times' => 1,'retry_timeout' => 86400,'per_secs' => 86400],
             self::SlowSix => ['retry_times' => 1,'retry_timeout' => 21600,'per_secs' => 21600],
             self::SlowTwo => ['retry_times' => 1,'retry_timeout' => 7200,'per_secs' => 7200],
@@ -38,7 +37,9 @@ class quality_ploy extends Quality
             self::SlowNormal => [self::SlowTwo, self::Normal],
             self::ThirdNormal => [self::ThirdShop, self::Normal],
             self::DefSuccess => [self::ThirdShop, self::Normal, self::CardKey, self::Quick],
-            self::NormalQuick => [self::Normal, self::Quick]
+            self::NormalQuick => [self::Normal, self::Quick],
+
+            self::OilSN_TURN => [self::OilWithoutSN, self::OilWithSN]
         ];
     }
 }