xiaoyu před 3 roky
rodič
revize
d2cc82ac81
1 změnil soubory, kde provedl 18 přidání a 15 odebrání
  1. 18 15
      admin/control/refill_order_manual.php

+ 18 - 15
admin/control/refill_order_manual.php

@@ -33,17 +33,16 @@ class refill_order_manualControl extends SystemControl
 
         $mod_order = Model('vr_order');
         $order_info = $mod_order->getOrderInfo(['order_id' => $order_id]);
-
         $mod_refill = Model('refill_order');
-        $logic_vr_order = Logic("vr_order");
         $refill_info = Model('refill_order')->getOrderInfo(['order_id' => $order_id,'inner_status' => 0,'is_retrying' => 0]);
-        if(empty($refill_info)) {
+        if(empty($refill_info) || empty($order_info)) {
             showMessage('订单不存在,或不符合条件', '');
         }
-        $check_fetch_order = $this->check_fetch_order($order_info['order_sn']);
-        if($check_fetch_order == false) {
+        $fetch_order_ids = $this->check_fetch_order($order_id);
+        if (in_array($order_id, $fetch_order_ids)) {
             showMessage('此订单不可手动操作,请联系抢单人员操作!');
         }
+        $logic_vr_order = Logic("vr_order");
         if ($type == 'success') {
             $logic_vr_order->changeOrderStateSuccess($order_id,true);
         } elseif ($type == 'cancel') {
@@ -51,7 +50,7 @@ class refill_order_manualControl extends SystemControl
         } else {
             showMessage('手动操作类型错误', 'index.php?act=refill_order&op=index');
         }
-
+        $this->manual_record([$refill_info], $type, $order_id, '手动强制处理');
         if($refill_info['notify_time'] == 0) {
             $mod_refill->edit($order_id, ['notify_state' =>1, 'notify_time' => time()]);
         }
@@ -228,6 +227,9 @@ class refill_order_manualControl extends SystemControl
         try {
             foreach ($orders as $order) {
                 $order_id = intval($order['order_id']);
+                //已经找到相同类型的操作记录,不处理.
+                if(algorithm::binary_search($buyback_ids,$order_id)) continue;
+
                 if($oper_type == 'buyback')
                 {
                     $mchid = $order['mchid'];
@@ -260,7 +262,9 @@ class refill_order_manualControl extends SystemControl
                     $fetch_order_ids = $this->unique_array($fetch_order_ids);
                     if(algorithm::binary_search($fetch_order_ids,$order_id)) continue;
                     refill\util::manual_success($order_id);
-                    $bz = "批量处理页面,手动成功处理,操作人:{$admininfo['name']}";
+                    if(empty($bz)) {
+                        $bz = "批量处理页面,手动成功处理,操作人:{$admininfo['name']}";
+                    }
                 }
                 elseif ($oper_type == 'cancel')
                 {
@@ -268,15 +272,14 @@ class refill_order_manualControl extends SystemControl
                     $fetch_order_ids = $this->unique_array($fetch_order_ids);
                     if(algorithm::binary_search($fetch_order_ids,$order_id)) continue;
                     refill\util::manual_cancel($order_id);
-                    $bz = "批量处理页面,手动失败处理,操作人:{$admininfo['name']}";
-                }
-
-                if(!algorithm::binary_search($buyback_ids,$order_id)) {
-                    $ins[] = [
-                        'order_id' => $order['order_id'], 'order_sn' => $order['order_sn'],'order_time' => $order['order_time'], 'notify_time' => $order['notify_time'],
-                        'manual_type' => $oper_type, 'admin_id' => $admininfo['id'], 'admin_name' => $admininfo['name'], 'act_time' => $cur_time, 'bz' => $bz
-                    ];
+                    if(empty($bz)) {
+                        $bz = "批量处理页面,手动失败处理,操作人:{$admininfo['name']}";
+                    }
                 }
+                $ins[] = [
+                    'order_id' => $order['order_id'], 'order_sn' => $order['order_sn'],'order_time' => $order['order_time'], 'notify_time' => $order['notify_time'],
+                    'manual_type' => $oper_type, 'admin_id' => $admininfo['id'], 'admin_name' => $admininfo['name'], 'act_time' => $cur_time, 'bz' => $bz
+                ];
             }
             if(!empty($ins)) {
                 $refill_buyback_model->insertAll($ins);