57 lines
1.4 KiB
PHP
57 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace app\common\model;
|
||
|
|
||
|
use app\common\enum\OrderType as OrderTypeEnum;
|
||
|
|
||
|
/**
|
||
|
* 小程序prepay_id模型
|
||
|
* Class WxappPrepayId
|
||
|
* @package app\common\model
|
||
|
*/
|
||
|
class WxappPrepayId extends BaseModel
|
||
|
{
|
||
|
protected $name = 'wxapp_prepay_id';
|
||
|
|
||
|
/**
|
||
|
* prepay_id 详情
|
||
|
* @param int $orderId
|
||
|
* @param int $orderType 订单类型
|
||
|
* @return array|false|\PDOStatement|string|\think\Model|static
|
||
|
*/
|
||
|
public static function detail($orderId, $orderType = OrderTypeEnum::MASTER)
|
||
|
{
|
||
|
return (new static)->where('order_id', '=', $orderId)
|
||
|
->where('order_type', '=', $orderType)
|
||
|
->order(['create_time' => 'desc'])
|
||
|
->find();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 记录prepay_id使用次数
|
||
|
* @return int|true
|
||
|
* @throws \think\Exception
|
||
|
*/
|
||
|
public function updateUsedTimes()
|
||
|
{
|
||
|
return $this->setInc('used_times', 1);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 更新prepay_id已付款状态
|
||
|
* @param $orderId
|
||
|
* @param $orderType
|
||
|
* @return false|int
|
||
|
*/
|
||
|
public static function updatePayStatus($orderId, $orderType = OrderTypeEnum::MASTER)
|
||
|
{
|
||
|
// 获取prepay_id记录
|
||
|
$model = static::detail($orderId, $orderType);
|
||
|
if (empty($model)) {
|
||
|
return false;
|
||
|
}
|
||
|
// 更新记录
|
||
|
return $model->save(['can_use_times' => 3, 'pay_status' => 1]);
|
||
|
}
|
||
|
|
||
|
}
|