コード例 #1
0
ファイル: public.php プロジェクト: isonz/fxptpcn
function orderNotify()
{
    $orders = Orders::publicPayOrderSignVerify();
    $order_code = isset($orders['order_code']) ? $orders['order_code'] : '';
    $order_id = isset($orders['id']) ? (int) $orders['id'] : 0;
    $order_status = isset($orders['order_status']) ? (int) $orders['order_status'] : 0;
    $pay_transaction_id = isset($orders['pay_transaction_id']) ? $orders['pay_transaction_id'] : '';
    $paid = isset($orders['paid']) ? $orders['paid'] : 0;
    $paymethod_code = $orders['paymethod_code'];
    if (1 == $order_status) {
        $pay_method = PaymentMethod::getOne(array('code' => $paymethod_code), 'id');
        $pay_method = isset($pay_method['id']) ? (int) $pay_method['id'] : 0;
        $sk_order_code = null;
        $order_type = substr($order_code, -2, 2);
        if ('YK' == $order_type) {
            $sk_order_code = str_replace('YK', 'SK', $order_code);
        }
        DB::tranBegin('notify');
        //事务开始
        Orders::update(array('order_code' => $order_code), array('paid' => $paid, 'order_status' => 2, 'pay_method' => $pay_method, 'pay_transaction_id' => $pay_transaction_id, 'pay_time' => time()));
        if ($sk_order_code) {
            Orders::update(array('order_code' => $sk_order_code), array('order_status' => 5));
        }
        ProductsStockLock::changeStatus($order_code, 1);
        OrdersProducts::updateOrderProductStock($order_code);
        $commit_status = DB::tranEnd('notify');
        if (!$commit_status) {
            ABase::toJson(1, 'FAIL', $orders);
        }
    }
    ABase::toJson(0, 'SUCCESS', $orders);
}