stanley-king 2 years ago
parent
commit
49bd15938d
1 changed files with 17 additions and 13 deletions
  1. 17 13
      helper/refill/RefillBase.php

+ 17 - 13
helper/refill/RefillBase.php

@@ -521,7 +521,8 @@ class RefillBase
             try
             try
             {
             {
                 if($last_orderid > 0) {
                 if($last_orderid > 0) {
-                    $mod_refill->edit($last_orderid, ['inner_status' => 1]);
+                    $order_time = $order->order_time();
+                    $mod_refill->edit_part(['order_id' => $last_orderid, 'order_time' => util::refill_order_part($order_time)], ['inner_status' => 1]);
                 }
                 }
                 $order->set_last_orderid($order_id);
                 $order->set_last_orderid($order_id);
 
 
@@ -630,10 +631,10 @@ class RefillBase
         }
         }
 
 
         $vr_order = Model('vr_order');
         $vr_order = Model('vr_order');
-        $refill_order = Model('refill_order');
+        $mod_refill = Model('refill_order');
 
 
         $order_info = $vr_order->getOrderInfo(['order_id' => $order_id]);
         $order_info = $vr_order->getOrderInfo(['order_id' => $order_id]);
-        $refill_info = $refill_order->getOrderInfo(['order_id' => $order_id,'inner_status' => 0,'is_retrying' => 0]);
+        $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id,'inner_status' => 0,'is_retrying' => 0]);
 
 
         if (empty($order_info) || empty($refill_info)) {
         if (empty($order_info) || empty($refill_info)) {
             return [false, "无此订单"];
             return [false, "无此订单"];
@@ -645,8 +646,11 @@ class RefillBase
         }
         }
 
 
         $notify_url = $refill_info['notify_url'];
         $notify_url = $refill_info['notify_url'];
+        $order_time = intval($refill_info['order_time']);
+        $cond = ['order_id' => $order_id, 'order_time' => util::refill_order_part($order_time)];
+
         if (empty($notify_url)) {
         if (empty($notify_url)) {
-            $refill_order->edit($order_id, ['mch_notify_state' => 1, 'mch_notify_times' => 0]);
+            $mod_refill->edit_part($cond, ['mch_notify_state' => 1, 'mch_notify_times' => 0]);
             return [false, "回调地址为空"];
             return [false, "回调地址为空"];
         }
         }
 
 
@@ -659,16 +663,16 @@ class RefillBase
         $resp = $this->mPolicy->notify($order_info,$refill_info);
         $resp = $this->mPolicy->notify($order_info,$refill_info);
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         if ($resp) {
         if ($resp) {
-            $refill_order->edit($order_id, ['mch_notify_state' => 1, 'mch_notify_times' => ['exp', 'mch_notify_times+1']]);
+            $mod_refill->edit_part($cond, ['mch_notify_state' => 1, 'mch_notify_times' => ['exp', 'mch_notify_times+1']]);
             return [true, ""];
             return [true, ""];
         }
         }
         else
         else
         {
         {
-            $refill_order->edit($order_id, ['mch_notify_times' => ['exp', 'mch_notify_times+1']]);
+            $mod_refill->edit_part($cond, ['mch_notify_times' => ['exp', 'mch_notify_times+1']]);
             $times = $refill_info['mch_notify_times'] + 1;
             $times = $refill_info['mch_notify_times'] + 1;
 
 
             if ($times > 100) {
             if ($times > 100) {
-                $refill_order->edit($order_id, ['mch_notify_state' => 2]);
+                $mod_refill->edit_part($cond, ['mch_notify_state' => 2]);
             } else {
             } else {
                 $period = 5;
                 $period = 5;
                 QueueClient::async_push("NotifyMerchantComplete", ['order_id' => $order_id,'manual' => false], $period);
                 QueueClient::async_push("NotifyMerchantComplete", ['order_id' => $order_id,'manual' => false], $period);
@@ -825,11 +829,11 @@ class RefillBase
 
 
                 $logic_vr_order = Logic("vr_order");
                 $logic_vr_order = Logic("vr_order");
                 $logic_vr_order->changeOrderStateSuccess($order_id,true);
                 $logic_vr_order->changeOrderStateSuccess($order_id,true);
-                $refill_order = Model('refill_order');
-                $refill_order->edit($order_id, ['notify_time' => time(), 'notify_state' => 1,'is_retrying' => 0]);
+                $mod_refill = Model('refill_order');
+                $mod_refill->edit($order_id, ['notify_time' => time(), 'notify_state' => 1,'is_retrying' => 0]);
                 mtopcard\cards_helper::assign($order_id);
                 mtopcard\cards_helper::assign($order_id);
 
 
-                $refill_info = $refill_order->getOrderInfo(['order_id' => $order_id]);
+                $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id]);
                 util::pop_queue_order($refill_info['mchid'],$refill_info['mch_order']);
                 util::pop_queue_order($refill_info['mchid'],$refill_info['mch_order']);
             }
             }
             else {
             else {
@@ -861,11 +865,11 @@ class RefillBase
 
 
                 $logic_vr_order = Logic("vr_order");
                 $logic_vr_order = Logic("vr_order");
                 $logic_vr_order->changeOrderStateCancel($order_info, '', "后台手动回调通知失败",true,true);
                 $logic_vr_order->changeOrderStateCancel($order_info, '', "后台手动回调通知失败",true,true);
-                $refill_order = Model('refill_order');
-                $refill_order->edit($order_id, ['notify_time' => time(), 'notify_state' => 1,'is_retrying' => 0]);
+                $mod_refill = Model('refill_order');
+                $mod_refill->edit($order_id, ['notify_time' => time(), 'notify_state' => 1,'is_retrying' => 0]);
                 mtopcard\cards_helper::reuse($order_id);
                 mtopcard\cards_helper::reuse($order_id);
 
 
-                $refill_info = $refill_order->getOrderInfo(['order_id' => $order_id]);
+                $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id]);
                 util::pop_queue_order($refill_info['mchid'],$refill_info['mch_order']);
                 util::pop_queue_order($refill_info['mchid'],$refill_info['mch_order']);
             }
             }
             else {
             else {