stanley-king 2 years ago
parent
commit
944653cefd
2 changed files with 19 additions and 19 deletions
  1. 13 14
      admin/control/ordersendlist.php
  2. 6 5
      helper/refill/RefillBase.php

+ 13 - 14
admin/control/ordersendlist.php

@@ -544,27 +544,26 @@ class ordersendlistControl extends SystemControl
         if (empty($order_list)) {
             showMessage('暂无数据');
         }
-        $logic_vr_order = Logic("vr_order");
-        $mod_vr_order = Model('vr_order');
-        foreach ($order_list as $order) {
+
+        foreach ($order_list as $order)
+        {
             $order_id = $order['order_id'];
             if ($type == 'success') {
-                $logic_vr_order->changeOrderStateSuccess($order_id, true);
                 if (!empty($official_sn)) {
-                    $model_refill_order->edit($order_id, ['official_sn' => $official_sn]);
+                    $logic_vr_order = Logic("vr_order");
+                    $logic_vr_order->changeOrderStateSuccess($order_id, true);
+                    $model_refill_order->edit($order_id, ['official_sn' => $official_sn,'notify_state' => 1, 'notify_time' => time()]);
+                    util::pop_queue_order($order['mchid'], $order['mch_order']);
+                    QueueClient::push("NotifyMerchantComplete", ['order_id' => $order_id, 'manual' => true]);
+                }
+                else {
+                    refill\util::manual_success($order_id);
                 }
             } elseif ($type == 'cancel') {
-                $order_info = $mod_vr_order->getOrderInfo(['order_id' => $order_id]);
-                $logic_vr_order->changeOrderStateCancel($order_info, '', "充值失败", true, true);
-            } else {
-                continue;
-            }
-            if ($order['notify_time'] == 0) {
-                $model_refill_order->edit($order_id, ['notify_state' => 1, 'notify_time' => time()]);
+                refill\util::manual_cancel($order_id);
             }
-            util::pop_queue_order($order['mchid'], $order['mch_order']);
-            QueueClient::push("NotifyMerchantComplete", ['order_id' => $order_id, 'manual' => true]);
         }
+
         $this->log("手动强制处理", 1);
         showMessage('操作成功');
     }

+ 6 - 5
helper/refill/RefillBase.php

@@ -889,14 +889,15 @@ class RefillBase
         $order_id = intval($order_id);
         if($order_id <= 0) return false;
 
-        try {
+        try
+        {
             $mod_order = Model('vr_order');
             $tran = new trans_wapper($mod_order,'manual_success state trans');
 
             $order_info = $mod_order->getOrderInfo(['order_id' => $order_id],'*',true,true);
-            if(!empty($order_info) && $order_info['order_state'] == ORDER_STATE_SEND) {
+            if(!empty($order_info) && in_array($order_info['order_state'],[ORDER_STATE_PAY,ORDER_STATE_SEND]))
+            {
                 $tran->commit();
-
                 $logic_vr_order = Logic("vr_order");
                 $logic_vr_order->changeOrderStateSuccess($order_id,true);
 
@@ -908,7 +909,6 @@ class RefillBase
                 $mod_refill->partition(util::part_refill($order_time))->edit($order_id, ['notify_time' => time(), 'notify_state' => 1,'is_retrying' => 0]);
                 mtopcard\cards_helper::assign($order_id);
 
-
                 util::pop_queue_order($refill_info['mchid'], $refill_info['mch_order'], $order_time);
             }
             else {
@@ -935,7 +935,8 @@ class RefillBase
             $tran = new trans_wapper($mod_order,'manual_cancel state trans');
 
             $order_info = $mod_order->getOrderInfo(['order_id' => $order_id],'*',true,true);
-            if(!empty($order_info) && $order_info['order_state'] == ORDER_STATE_SEND) {
+            if(!empty($order_info) && in_array($order_info['order_state'],[ORDER_STATE_PAY,ORDER_STATE_SEND]))
+            {
                 $tran->commit();
 
                 $logic_vr_order = Logic("vr_order");