stanley-king 1 рік тому
батько
коміт
e0ce5504b9
2 змінених файлів з 17 додано та 47 видалено
  1. 5 46
      helper/refill/policy/quaility.php
  2. 12 1
      test/refill/TestOrder.php

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

@@ -296,52 +296,11 @@ class Quality
 
         $calc_pertime = function ($per_secs, $cur_times, $cur_usedtime)
         {
-
-        };
-
-        $time_checker = function ($qualities,$left_time) use ($cur_quality, $mchid, $ch_filter, $used_time)
-        {
-
-            $compare = $cur_quality > 0 ? false : true;
-
-            foreach ($qualities as $quality)
-            {
-                if($compare == false)
-                {
-                    if($quality == $cur_quality) {
-                        $compare = true;
-                    }
-                }
-
-                $per_secs = $this->mSpeeds[$quality]['per_secs'];
-                $qua_secs = $this->mRatioCtl->seconds($mchid, $quality);
-                [$cur_times,$cur_usedtime] = $ch_filter->total($cur_quality);
-
-                if ($qua_secs == false) continue;
-
-                if($cur_times === 0 or $cur_usedtime) {
-
-                }
-
-                Log::record("left_time=$left_time quality=$quality secs=$qua_secs", Log::DEBUG);
-
-
-                if ($left_time - $qsecs > 0) {
-                    //时间满足该质量配置
-                    $left_time -= $qsecs;
-                    $result[] = $quality;
-                } elseif ($left_time - $per_secs > 0) {
-                    //时间够跑一次,不能再找其它质量
-                    $result[] = $quality;
-                    break;
-                } else {
-                    //时间完全不够跑一次
-                    break;
-                }
-
-                if ($quality == $cur_quality) {
-                    break;
-                }
+            if($cur_times == 0 or $cur_usedtime == 0) {
+                return $per_secs;
+            } else {
+                $per_secs = intval($cur_usedtime / $cur_times) + 1;
+                return $per_secs;
             }
         };
 

+ 12 - 1
test/refill/TestOrder.php

@@ -29,6 +29,16 @@ class TestOrder extends TestCase
 
     public function testOrderEx()
     {
+        $calc_pertime = function ($per_secs, $cur_times, $cur_usedtime)
+        {
+            if($cur_times == 0 or $cur_usedtime == 0) {
+                return $per_secs;
+            } else {
+                $per_secs = intval($cur_usedtime / $cur_times) + 1;
+                return $per_secs;
+            }
+        };
+
         $mod_refill = Model('refill_order');
         $info = $mod_refill->get_detail(10226,'756868ad50120f2ad4e1827b6eba0785');
         $params = json_decode($info['params'],true);
@@ -38,6 +48,7 @@ class TestOrder extends TestCase
         $filter->add(1, 'baidu', true);
         $filter->notify(1, 'baidu');
 
-        [$times, $used_time] = $filter->total();
+        [$cur_times,$cur_usedtime] = $filter->total(1);
+        $per_sec = $calc_pertime(150,$cur_times,$cur_usedtime);
     }
 }