63 行
2.3 KiB
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;
|
|
}
|
|
} |