src/AppBundle/Controller/Cashier/CoinController.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace AppBundle\Controller\Cashier;

use AppBundle\Controller\BaseController;
use Biz\OrderFacade\Currency;
use Biz\OrderFacade\Product\Product;
use Biz\OrderFacade\Service\OrderFacadeService;
use Biz\System\Service\SettingService;
use Codeages\Biz\Order\Service\OrderService;
use Codeages\Biz\Pay\Service\AccountService;
use Codeages\Biz\Pay\Service\PayService;
use Symfony\Component\HttpFoundation\Response;

class CoinController extends BaseController
{
    public function showAction($order)
    {
        $coinSetting = $this->getSettingService()->get('coin');

        if (!$coinSetting['coin_enabled']) {
            return new Response('');
        }

        $user = $this->getUser();
        $balance = $this->getAccountService()->getUserBalanceByUserId($user->getId());

        return $this->render('cashier/coin/show.html.twig', array(
            'coinSetting' => $coinSetting,
            'balance' => $balance,
            'maxCoin' => $this->getMaxCoin($order),
            'isPasswordSet' => $this->getAccountService()->isPayPasswordSetted($user->getId()),
        ));
    }

    private function getMaxCoin($order)
    {
        $orderItems = $this->getOrderService()->findOrderItemsByOrderId($order['id']);

        $item = reset($orderItems);

        /* @var $product Product */
        $product = $this->getOrderFacadeService()->getOrderProductByOrderItem($item);

        $maxProductCoin = $product->getMaxCoinAmount();

        $maxOrderCoin = $this->getCurrency()->convertToCoin($order['pay_amount']);

        return min($maxProductCoin, $maxOrderCoin);
    }

    /**
     * @return Currency
     */
    private function getCurrency()
    {
        $biz = $this->getBiz();

        return $biz['currency'];
    }

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

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