vendor/codeages/biz-order-pay/src/Pay/Status/PayTradeContext.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Codeages\Biz\Pay\Status;
use Codeages\Biz\Framework\Event\Event;
use Codeages\Biz\Framework\Service\Exception\AccessDeniedException;
use Codeages\Biz\Framework\Service\Exception\InvalidArgumentException;
use Codeages\Biz\Framework\Service\Exception\NotFoundException;
use Codeages\Biz\Framework\Service\Exception\ServiceException;
class PayTradeContext
{
protected $biz;
protected $PayTrade;
protected $status;
function __construct($biz)
{
$this->biz = $biz;
}
public function setPayTrade($PayTrade)
{
$this->PayTrade = $PayTrade;
$this->status = $this->biz["payment_trade_status.{$PayTrade['status']}"];
$this->status->setPayTrade($PayTrade);
}
public function getPayTrade()
{
return $this->PayTrade;
}
public function getStatus()
{
return $this->status;
}
function __call($method, $arguments)
{
$status = $this->getNextStatusName($method);
if (!method_exists($this->status, $method)) {
throw new AccessDeniedException("can't change {$this->PayTrade['status']} to {$status}.");
}
try {
$this->biz['db']->beginTransaction();
$orderRefund = call_user_func_array(array($this->status, $method), $arguments);
$this->biz['db']->commit();
} catch (AccessDeniedException $e) {
$this->biz['db']->rollback();
throw $e;
} catch (InvalidArgumentException $e) {
$this->biz['db']->rollback();
throw $e;
} catch (NotFoundException $e) {
$this->biz['db']->rollback();
throw $e;
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。