Browse Source

fix retry add proc earlier than left operator

stanley-king 4 years ago
parent
commit
3bc9f26508
1 changed files with 12 additions and 3 deletions
  1. 12 3
      helper/refill/RefillBase.php

+ 12 - 3
helper/refill/RefillBase.php

@@ -113,9 +113,18 @@ class RefillBase
                 {
                 {
                     util::incr_notify($chname, $card_type, $spec, $quality, false);
                     util::incr_notify($chname, $card_type, $spec, $quality, false);
                     $logic_vr_order->changeOrderStateCancel($order_info, '', "{$chname}接口回调通知失败,正在重试");
                     $logic_vr_order->changeOrderStateCancel($order_info, '', "{$chname}接口回调通知失败,正在重试");
-                    if ($this->retry($refill_info, $order_info)) {
+
+                    [$can_retry,$params] = $this->retry($refill_info, $order_info);
+                    if ($can_retry)
+                    {
                         $mod_refill->edit($order_id, ['is_retrying' => 1]);
                         $mod_refill->edit($order_id, ['is_retrying' => 1]);
                         $tran->commit();
                         $tran->commit();
+
+                        if(defined('USE_COROUTINE') && USE_COROUTINE) {
+                            \Swoole\Coroutine::sleep(1);
+                        }
+                        util::push_add($params);
+
                         return true;
                         return true;
                     }
                     }
                 }
                 }
@@ -147,7 +156,7 @@ class RefillBase
         $commit_times = intval($refill_info['commit_times']);
         $commit_times = intval($refill_info['commit_times']);
 
 
         [$org_quality,$quality] = $this->find_quality($mchid,$spec,$card_type,$org_quality,$commit_times,$used_time);
         [$org_quality,$quality] = $this->find_quality($mchid,$spec,$card_type,$org_quality,$commit_times,$used_time);
-        if($quality <= 0) return false;
+        if($quality <= 0) return [false,null];
 
 
         $params = [ 'mchid' => $refill_info['mchid'],
         $params = [ 'mchid' => $refill_info['mchid'],
             'buyer_id' => $order_info['buyer_id'],
             'buyer_id' => $order_info['buyer_id'],
@@ -164,7 +173,7 @@ class RefillBase
             'order_id' => $refill_info['order_id']
             'order_id' => $refill_info['order_id']
         ];
         ];
 
 
-        return util::push_add($params);
+        return [true,$params];
     }
     }
 
 
     public function zero_order($mchid, $buyer_id, $amount, $card_no,
     public function zero_order($mchid, $buyer_id, $amount, $card_no,