src/ApiBundle/Api/Resource/Trade/Trade.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace ApiBundle\Api\Resource\Trade;
use ApiBundle\Api\ApiRequest;
use ApiBundle\Api\Exception\ErrorCode;
use ApiBundle\Api\Resource\AbstractResource;
use ApiBundle\Api\Resource\Trade\Factory\BaseTrade;
use ApiBundle\Api\Resource\Trade\Factory\TradeFactory;
use Biz\Common\CommonException;
use Biz\OrderFacade\Service\OrderFacadeService;
use Codeages\Biz\Order\Service\OrderService;
use Codeages\Biz\Pay\Service\PayService;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Biz\OrderFacade\Exception\OrderPayCheckException;
use Codeages\Biz\Pay\Exception\PayGatewayException;
class Trade extends AbstractResource
{
public function get(ApiRequest $request, $tradeSn)
{
$trade = $this->getPayService()->queryTradeFromPlatform($tradeSn);
return array(
'isPaid' => 'paid' === $trade['status'],
'paidSuccessUrl' => $this->generateUrl('cashier_pay_success', array('trade_sn' => $tradeSn)),
'paidSuccessUrlH5' => $this->generateUrl('cashier_pay_success_for_h5', array('trade_sn' => $tradeSn)),
);
}
/**
* gateway 支付网关
* type 交易类型
* orderSn 订单号
* coinAmount 使用多少虚拟币
* payPassword 支付密码
*
* @param \ApiBundle\Api\ApiRequest $request
*
* @return array
*/
public function add(ApiRequest $request)
{
$params = $request->request->all();
if (empty($params['gateway']) || empty($params['type'])) {
throw CommonException::ERROR_PARAMETER_MISSING();
}
try {
$this->fillParams($params);
if (!empty($params['orderSn']) && $order = $this->getOrderService()->getOrderBySn($params['orderSn'])) {
if ($this->isOrderPaid($order)) {
return array(
'tradeSn' => $order['trade_sn'],
'isPaid' => true,
'paidSuccessUrl' => $this->generateUrl('cashier_pay_success', array('trade_sn' => $order['trade_sn'])),
'paidSuccessUrlH5' => $this->generateUrl('cashier_pay_success_for_h5', array('trade_sn' => $order['trade_sn'])),
);
} else {
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。