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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。