stanley-king 3 роки тому
батько
коміт
3e4ea870d8

+ 9 - 5
helper/refill/policy/mratio_control.php

@@ -159,11 +159,15 @@ class mratio_control
 
     public function ratio_match($mchid, $org_quality, $cur_quality, $card_type, $spec,$qualities)
     {
+        $header = __METHOD__;
         [$ratio, $period] = $this->lower_ratio($mchid);
         [$_succ, $_fail, $gross_ratio] = $this->gross_ratio($mchid, $period);
+        Log::record("{$header} gross_ratio = {$gross_ratio},lower_ratio={$ratio}",Log::DEBUG);
 
         if($gross_ratio >= $ratio) return true;
         [$_succ, $_fail, $cur_ratio] = $this->detail_ratio($mchid, $cur_quality, $card_type, $spec, $period);
+        Log::record("{$header} cur_ratio = {$cur_ratio},lower_ratio={$ratio}",Log::DEBUG);
+
         if($cur_ratio >= $ratio) return true;
 
         if (!PolicyUtil::mixed_quality($org_quality)) {
@@ -184,19 +188,19 @@ class mratio_control
 
             $profit = 0;
             $amount = 0;
-            foreach ($qualities as $quality)
-            {
+            foreach ($qualities as $quality) {
                 $inprice = $prices[$quality] ?? false;
-                if($inprice === false) continue;
+                if ($inprice === false) continue;
 
-                [$succ,$fail,$ratio] = $dratios[$quality];
+                [$succ, $fail, $ratio] = $dratios[$quality];
                 $profit += $succ * ($sale - $inprice);
-                $amount += $succ * $inprice;
+                $amount += $succ * $sale;
             }
 
             $cur_pratio = round(($profit + 0.00001) / ($amount + 0.00001),4);
             $profit_ratio = round($profit_ratio,4);
 
+            Log::record("ratio_match profit_ratio = {$cur_pratio},profit_ratio={$profit_ratio}",Log::DEBUG);
             return $cur_pratio > $profit_ratio;
         };
 

+ 1 - 0
helper/refill/policy/quaility.php

@@ -187,6 +187,7 @@ class Quality
         $qualities = $this->qualities($org_quality);
         $max_times = $this->max_times($mchid,$org_quality);
         if ($this->mRatioCtl->exist($mchid)) {
+            Log::record("ratio_phone_quality exist=true",Log::DEBUG);
             $qualities = $this->ratio_phone_quality($org_quality, $qualities, $cur_quality, $times, $used_time, $mchid, $card_type, $spec);
             return [$org_quality, $qualities];
         } else {