|
@@ -200,6 +200,37 @@ class merchant_orderControl extends mbMerchantControl
|
|
|
return self::outsuccess($result);
|
|
|
}
|
|
|
|
|
|
+ public function interceptOp()
|
|
|
+ {
|
|
|
+ $mchid = $this->mchid();
|
|
|
+ $mch_order = $_GET['order_sn'];
|
|
|
+
|
|
|
+ if(empty($mch_order)) {
|
|
|
+ return self::outerr(205,"客户订单号为空.");
|
|
|
+ }
|
|
|
+
|
|
|
+ $mod_refill = Model('refill_order');
|
|
|
+ $order = $mod_refill->get_detail($mchid,$mch_order);
|
|
|
+
|
|
|
+ if(empty($order)) {
|
|
|
+ return self::outerr(205,"该订单号不存在.");
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_state = $order['order_state'];
|
|
|
+ if($order_state === ORDER_STATE_HANDLED) {
|
|
|
+ return self::outerr(206,"该订单已经完成.");
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_state = refill\util::query_queue_order($mchid,$mch_order);
|
|
|
+ if ($order_state == ORDER_STATE_TIMEOUT || $order_state == ORDER_STATE_HANDLED) {
|
|
|
+ Log::record("intercept timeout order mchid=$mchid mch_order=$mch_order order_state=$order_state" ,Log::DEBUG);
|
|
|
+ return self::outerr(206,"该订单已经完成.");
|
|
|
+ }
|
|
|
+
|
|
|
+ refill\util::set_cancel_order($mchid,$mch_order);
|
|
|
+ return self::outsuccess([]);
|
|
|
+ }
|
|
|
+
|
|
|
private function merchant_order_format($orders)
|
|
|
{
|
|
|
$data = [];
|