文件
mashangyoujiu/Application/CashierApi/Business/Abnormal.class.php

72 行
2.1 KiB
PHP
可执行文件

<?php
namespace CashierApi\Business;
use Common\Business\BillOrder;
use Common\Business\CacheHandle;
use Common\Model\RetailBillOrderModel;
//[1.7.14]
/**
* 订单异常处理类
* Class Abnormal
* [
* 支付失败或查询支付异常处理 abnormalOrder
* 支付失败或查询支付异常处理 abnormalHandle
* ]
*/
class Abnormal
{
/**
* 支付失败或查询支付异常处理
* @param $param
* [
* cashier_id
* bill_id 订单id
* ]
* @return mixed
*/
public function abnormalOrder($param)
{
if (empty($param['cashier_id'])) {
return callBack(statusCode()['error'], "未知收银员");
}
if (empty($param['bill_id'])) {
return callBack(statusCode()['error'], "缺少订单唯一标识");
}
$billOrderClass = new BillOrder();
$billResult = $billOrderClass->basisIdGetInfo($param['bill_id']);
if ($billResult['status'] != 1) {
return $billResult;
}
$result = $this->abnormalHandle($billResult['data']);
return $result;
}
/**
* 支付失败或查询支付异常处理
* @param $param
* [
* data
* ]
* @return mixed
*/
public function abnormalHandle($param)
{
//支付失败进行缓存清除
if (!empty($param['coupon_type']) && !empty($param['coupon_id']) && C('IS_SET_REDIS')) {
$coupon_redis_key = 'retail_coupon_store_id_*_uid_*_coupon_type_' . $param['coupon_type'] . '_coupon_id_' . $param['coupon_id'];
$CacheHandleClass = new CacheHandle();
$CacheHandleClass->eliminateCache($coupon_redis_key);
}
//支付失败后修改订单表状态
if ($param['pay_money'] == 0) {
$billOrderModel = new RetailBillOrderModel();
$billOrderModel->updateOrder([
'id' => $param['id']
], ['pay_state' => 0]);
}
return callBack(statusCode()['success'], "成功");
}
}