|
@@ -509,70 +509,82 @@ class refillControl extends merchantControl
|
|
|
|
|
|
public function queryOp()
|
|
|
{
|
|
|
+ $detail_checker = function($mchid, $mch_order)
|
|
|
+ {
|
|
|
+ $mod_refill = Model('refill_order');
|
|
|
+ $detail = $mod_refill->get_detail($mchid,$mch_order);
|
|
|
+ if (empty($detail)) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
$mchid = $this->mchid();
|
|
|
- $order_sn = $_GET['order_sn']; //用户方的订单号,对应数据库中的mch_order
|
|
|
+ $mch_order = $_GET['order_sn']; //用户方的订单号,对应数据库中的mch_order
|
|
|
|
|
|
- if(empty($order_sn)) {
|
|
|
+ if(empty($mch_order)) {
|
|
|
return self::outerr(201,"客户订单号order_sn错误");
|
|
|
}
|
|
|
|
|
|
- $order_state = refill\util::query_queue_order($mchid,$order_sn);
|
|
|
+ $send = ['mchid' => $mchid,'order_sn' => $mch_order,'order_state' => ORDER_STATE_SEND];
|
|
|
+
|
|
|
+ $order_state = refill\util::query_queue_order($mchid,$mch_order);
|
|
|
if ($order_state == ORDER_STATE_QUEUE || $order_state == ORDER_STATE_SEND) {
|
|
|
- Log::record("query_state in queue mchid={$mchid} mch_order={$order_sn} order_state={$order_state}" ,Log::DEBUG);
|
|
|
- $result['mchid'] = $mchid;
|
|
|
- $result['order_sn'] = $order_sn;
|
|
|
- $result['order_state'] = $order_state;
|
|
|
- return self::outsuccess($result);
|
|
|
+ Log::record("query_state in queue mchid=$mchid mch_order=$mch_order order_state=$order_state" ,Log::DEBUG);
|
|
|
+ return self::outsuccess($send);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
$mod_refill = Model('refill_order');
|
|
|
- $refill_info = $mod_refill->partition(refill\util::part_query())->getOrderInfo(['mch_order' => $order_sn,'mchid' => $mchid,'inner_status' => 0]);
|
|
|
+ $refill_info = $mod_refill->partition(refill\util::part_query())->getOrderInfo(['mch_order' => $mch_order,'mchid' => $mchid,'inner_status' => 0]);
|
|
|
|
|
|
if(empty($refill_info))
|
|
|
{
|
|
|
$mod_qerr = Model('refill_query_err');
|
|
|
- $insert = ['mch_order' => $order_sn,'mchid' => $mchid];
|
|
|
+ $insert = ['mch_order' => $mch_order,'mchid' => $mchid];
|
|
|
|
|
|
- $items = $mod_refill->getOrderInfo(['mch_order' => $order_sn,'mchid' => $mchid]);
|
|
|
+ $items = $mod_refill->getOrderInfo(['mch_order' => $mch_order,'mchid' => $mchid]);
|
|
|
if (empty($items)) {
|
|
|
- Log::record("query_state in db no order mchid={$mchid} mch_order={$order_sn}", Log::DEBUG);
|
|
|
+ Log::record("query_state in db no order mchid=$mchid mch_order=$mch_order", Log::DEBUG);
|
|
|
|
|
|
$insert['code'] = 202;
|
|
|
$insert['msg'] = "检索充值中的单子,查不到任何订单信息.";
|
|
|
$mod_qerr->add($insert);
|
|
|
|
|
|
- return self::outerr(202, "无此订单,请人工确认处理.");
|
|
|
- } else {
|
|
|
- Log::record("DEBUG_TAG: query_state in db mchid={$mchid} mch_order={$order_sn} order_state not completed.", Log::DEBUG);
|
|
|
-
|
|
|
-
|
|
|
+ $detail = $detail_checker($mchid,$mch_order);
|
|
|
+ if($detail == false) {
|
|
|
+ return self::outerr(202, "无此订单,请人工确认处理.");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return self::outsuccess($send);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ Log::record("DEBUG_TAG: query_state in db mchid=$mchid mch_order=$mch_order order_state not completed.", Log::DEBUG);
|
|
|
$insert['code'] = 200;
|
|
|
$insert['msg'] = "检索充值中的单子能查到,但inner_status=0时查不到,回调充值中状态.";
|
|
|
$mod_qerr->add($insert);
|
|
|
|
|
|
- $result['mchid'] = $mchid;
|
|
|
- $result['order_sn'] = $order_sn;
|
|
|
- $result['order_state'] = ORDER_STATE_SEND;
|
|
|
- return self::outsuccess($result);
|
|
|
+ return self::outsuccess($send);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
$vr_order = Model('vr_order');
|
|
|
$order_info = $vr_order->partition(refill\util::part_query())->getOrderInfo(['order_sn' => $refill_info['order_sn']]);
|
|
|
- Log::record("query_state in db mchid={$mchid} mch_order={$order_sn} order_state={$order_info['order_state']}" ,Log::DEBUG);
|
|
|
+ Log::record("query_state in db mchid=$mchid mch_order=$mch_order order_state={$order_info['order_state']}" ,Log::DEBUG);
|
|
|
|
|
|
if (empty($order_info))
|
|
|
{
|
|
|
$mod_qerr = Model('refill_query_err');
|
|
|
- $insert = ['mch_order' => $order_sn,'mchid' => $mchid];
|
|
|
+ $insert = ['mch_order' => $mch_order,'mchid' => $mchid];
|
|
|
|
|
|
$insert['code'] = 203;
|
|
|
$insert['msg'] = "检索充值中的单子能查到,但inner_status=0时查不到vr_order中的订单.";
|
|
|
$mod_qerr->add($insert);
|
|
|
|
|
|
- return self::outerr(203, "无此交易,请人工确认处理.");
|
|
|
+ return self::outsuccess($send);
|
|
|
} else {
|
|
|
$result = $this->format($order_info, $refill_info);
|
|
|
return self::outsuccess($result);
|