文件
mashangyoujiu/Application/PayApi/Controller/SpikeController.class.php

63 行
2.3 KiB
PHP
可执行文件

<?php
namespace PayApi\Controller;
use Think\Controller;
//[1.3.43]
/**
* Class SpikeController
* @package PayApi\Controller
*/
class SpikeController extends Controller
{
/**
* 支付成功,修改状态
* @param array $bill_id 订单
* @return array $res
*/
public function updateOrder($bill_id)
{
// 查询门店id
$RBOModel = D('RetailBillOrder');
$billDetail = $RBOModel->getFind(array($RBOModel::ID => $bill_id), array($RBOModel::STORE_ID, $RBOModel::ORDER_NO));
$store_id = $billDetail[$RBOModel::STORE_ID];
$order_no = $billDetail[$RBOModel::ORDER_NO];
if (!$store_id) {
$res = array('status' => 0, 'msg' => '订单异常,请联系商家退款');
return $res;
}
// 修改秒杀状态
$RBSModel = D('RetailBillSpike');
$save_result = $RBSModel->updateOrder(array($RBSModel::BILL_ID => $bill_id), array($RBSModel::STATE => 1));
if (!$save_result) {
$res = array('status' => 0, 'msg' => '订单出现异常,请联系商家');
} else {
//查看库存是否 < 0
$BillSpikeModel = D('RetailBillSpike');
$SecKillModel = D('RetailSpike');
$spike_id = $BillSpikeModel->getFindField(array($BillSpikeModel::BILL_ID => $bill_id), $BillSpikeModel::SPIKE_ID); //秒杀id
$active_limit_num = $SecKillModel->getFindField(array($SecKillModel::ID => $spike_id), $SecKillModel::STOCK); //剩余库存
if ($active_limit_num < 0) {
A('PayApi/ActivityOrder')->doRefund_v1($order_no);
}
// 打印
A('PayApi/Printer')->linePrinting_v1($store_id, $bill_id);
// 收银机推送
sendSockets($store_id, '您有新的线上订单信息', 0);
//新版推送
$content = array(
'login_string' => '',
'username' => '',
'type' => 7,
'order_no' => $order_no,
'message' => "您有新的线上订单信息",
);
sendSockets($store_id, $content, -1);
$res = array('status' => 1, 'msg' => '支付成功');
}
return $res;
}
}