stanley-king 2 years atrás
parent
commit
c9ce77287a
4 changed files with 32 additions and 22 deletions
  1. 25 18
      helper/refill/policy/quaility.php
  2. 1 1
      plot/app.py
  3. 3 2
      plot/refill/ChannelCumPainter.py
  4. 3 1
      plot/refill/ChannelPainter.py

+ 25 - 18
helper/refill/policy/quaility.php

@@ -333,31 +333,38 @@ class Quality
             Log::record("{$tag}={$str}", Log::DEBUG);
         };
 
-        $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} all_qualities", $all_qualities);
-        [$match_ratio, $can_last] = $this->mRatioCtl->ratio_match($mchid, $org_quality, $card_type, $spec, $all_qualities);
-        Log::record("ratio_phone_quality mchid={$mchid} must calc next quality match_ratio={$match_ratio} can_last={$can_last}", Log::DEBUG);
+        if($used_times > 0)
+        {
+            $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} all_qualities", $all_qualities);
+            [$match_ratio, $can_last] = $this->mRatioCtl->ratio_match($mchid, $org_quality, $card_type, $spec, $all_qualities);
+            Log::record("ratio_phone_quality mchid={$mchid} must calc next quality match_ratio={$match_ratio} can_last={$can_last}", Log::DEBUG);
 
-        $times_qualities = $times_checker($match_ratio, $all_qualities, $used_times);
-        $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} times_qualities", $times_qualities);
+            $times_qualities = $times_checker($match_ratio, $all_qualities, $used_times);
+            $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} times_qualities", $times_qualities);
 
-        $timeout_qualities = $timeout_checker($match_ratio, $all_qualities, $left_time);
-        $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} timeout_qualities", $timeout_qualities);
+            $timeout_qualities = $timeout_checker($match_ratio, $all_qualities, $left_time);
+            $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} timeout_qualities", $timeout_qualities);
 
-        $pre_qualities = array_intersect($times_qualities, $timeout_qualities, $all_qualities);
-        $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} pre_qualities", $pre_qualities);
+            $pre_qualities = array_intersect($times_qualities, $timeout_qualities, $all_qualities);
+            $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} pre_qualities", $pre_qualities);
 
 
-        if (!$timeing_checker($pre_qualities)) {
-            $pre_qualities = [];
-            Log::record("calc_quality timeing_checker result is empty", Log::DEBUG);
-        }
+            if (!$timeing_checker($pre_qualities)) {
+                $pre_qualities = [];
+                Log::record("calc_quality timeing_checker result is empty", Log::DEBUG);
+            }
 
-        $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} after timeing_checker qualities", $pre_qualities);
-        $cur_qualities = $pre_qualities;
+            $qualities_log("ratio_phone_quality {$mchid}-{$card_type}-{$spec} after timeing_checker qualities", $pre_qualities);
+            $cur_qualities = $pre_qualities;
 
-        if (!$can_last) {
-            $all = $this->qualities($org_quality);
-            $cur_qualities = PolicyUtil::mixed_remove_last($org_quality, $cur_qualities, $all);
+            if (!$can_last) {
+                $all = $this->qualities($org_quality);
+                $cur_qualities = PolicyUtil::mixed_remove_last($org_quality, $cur_qualities, $all);
+            }
+        }
+        else {
+            $match_ratio = true;
+            $cur_qualities = $all_qualities;
         }
 
         return [$cur_qualities,$match_ratio];

+ 1 - 1
plot/app.py

@@ -213,7 +213,7 @@ def mch_order_send():
 
 
 if __name__ == "__main__":
-    debug_mode = False
+    debug_mode = True
     if debug_mode:
         app.run(debug=True, host='0.0.0.0', port=5000)
     else:

+ 3 - 2
plot/refill/ChannelCumPainter.py

@@ -12,10 +12,11 @@ import logging
 logger = logging.getLogger('ChannelCumPainter')
 
 class ChannelCumPainter(ChannelPainter):
-    def __init__(self, start_time: int, end_time: int, chnames: set = None, card_types: set = None, spec: int = None, filter_wave: int = None):
+    def __init__(self, start_time: int, end_time: int, chnames: set = None, card_types: set = None, spec: int = None, filter_wave: int = None,
+                 show_all: bool = False):
         self._reader = ChannelReader()
         filter_wave = filter_wave or 0
-        self._chnames, self._card_types, self._spec, self._filter_wave = chnames, card_types, spec, filter_wave
+        self._chnames, self._card_types, self._spec, self._filter_wave,self._show_all = chnames, card_types, spec, filter_wave,show_all
         days, self._start_time, self._end_time, self._interval = self.calc_time(self._reader, start_time, end_time)
         pass
 

+ 3 - 1
plot/refill/ChannelPainter.py

@@ -22,9 +22,11 @@ def get_channels():
     return list(_all_channels)
 
 class ChPathFilter(object):
-    def __init__(self,chnames: set = None, card_types: set = None):
+    def __init__(self,chnames: set = None, card_types: set = None,spec: int = None,show_all: bool=False):
         self._chnames = chnames
         self._card_types = card_types
+        self._spec = spec
+        self._show_all = show_all
     pass
 
 def ratio_pathes(reader: ChannelReader, tuple_pathes: dict, days: list, spec=None):