|
@@ -34,35 +34,44 @@ class refill_order_manualControl extends SystemControl
|
|
|
|
|
|
$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);
|
|
|
-
|
|
|
- $mod_refill = Model('refill_order');
|
|
|
- $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id, 'inner_status' => 0, 'is_retrying' => 0]);
|
|
|
- $fetch_order_ids = $this->check_fetch_order($order_id);
|
|
|
-
|
|
|
- if (!empty($refill_info) && !empty($order_info) && !in_array($order_id, $fetch_order_ids)) {
|
|
|
- $logic_vr_order = Logic("vr_order");
|
|
|
- if ($type == 'success') {
|
|
|
- $logic_vr_order->changeOrderStateSuccess($order_id, true);
|
|
|
- } elseif ($type == 'cancel') {
|
|
|
- $logic_vr_order->changeOrderStateCancel($order_info, '', "充值失败", true, true);
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ $order_info = $mod_order->getOrderInfo(['order_id' => $order_id], '*', true, true);
|
|
|
+ $mod_refill = Model('refill_order');
|
|
|
+ $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id, 'inner_status' => 0, 'is_retrying' => 0]);
|
|
|
+ $fetch_order_ids = $this->check_fetch_order($order_id);
|
|
|
+
|
|
|
+ if (!empty($refill_info) && !empty($order_info) && !in_array($order_id, $fetch_order_ids))
|
|
|
+ {
|
|
|
+ $logic_vr_order = Logic("vr_order");
|
|
|
+ if ($type == 'success') {
|
|
|
+ $logic_vr_order->changeOrderStateSuccess($order_id, true);
|
|
|
+ } elseif ($type == 'cancel') {
|
|
|
+ $logic_vr_order->changeOrderStateCancel($order_info, '', "充值失败", true, true);
|
|
|
+ } else {
|
|
|
+ $tran->commit();
|
|
|
+ showMessage('手动操作类型错误');
|
|
|
+ }
|
|
|
+ $this->manual_record([$refill_info], $type, $order_id, '手动强制处理');
|
|
|
+ $this->log("手动强制处理,订单号:{$order_info['order_sn']}");
|
|
|
+
|
|
|
+ if ($refill_info['notify_time'] == 0) {
|
|
|
+ $mod_refill->edit($order_id, ['notify_state' => 1, 'notify_time' => time()]);
|
|
|
+ }
|
|
|
+ util::pop_queue_order($refill_info['mchid'], $refill_info['mch_order']);
|
|
|
+ $tran->commit();
|
|
|
+ QueueClient::push("NotifyMerchantComplete", ['order_id' => $order_id, 'manual' => true]);
|
|
|
+ showMessage('操作成功');
|
|
|
} else {
|
|
|
$tran->commit();
|
|
|
- showMessage('手动操作类型错误');
|
|
|
- }
|
|
|
- $this->manual_record([$refill_info], $type, $order_id, '手动强制处理');
|
|
|
- $this->log("手动强制处理,订单号:{$order_info['order_sn']}");
|
|
|
-
|
|
|
- if ($refill_info['notify_time'] == 0) {
|
|
|
- $mod_refill->edit($order_id, ['notify_state' => 1, 'notify_time' => time()]);
|
|
|
+ showMessage('订单不存在,或不符合条件');
|
|
|
}
|
|
|
- util::pop_queue_order($refill_info['mchid'], $refill_info['mch_order']);
|
|
|
- $tran->commit();
|
|
|
- QueueClient::push("NotifyMerchantComplete", ['order_id' => $order_id, 'manual' => true]);
|
|
|
- showMessage('操作成功');
|
|
|
- } else {
|
|
|
- $tran->commit();
|
|
|
- showMessage('订单不存在,或不符合条件');
|
|
|
+ }
|
|
|
+ catch (Exception $ex)
|
|
|
+ {
|
|
|
+ $tran->rollback();
|
|
|
+ showMessage('事务失败,已经回滚.');
|
|
|
}
|
|
|
}
|
|
|
|