src/ApiBundle/Api/Resource/Order/Order.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace ApiBundle\Api\Resource\Order;
use ApiBundle\Api\ApiRequest;
use ApiBundle\Api\Resource\AbstractResource;
use Biz\Common\CommonException;
use Biz\Order\OrderException;
use Biz\OrderFacade\Exception\OrderPayCheckException;
use Biz\OrderFacade\Product\Product;
use Biz\OrderFacade\Service\OrderFacadeService;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
class Order extends AbstractResource
{
public function add(ApiRequest $request)
{
$params = $request->request->all();
if (empty($params['targetId'])
|| empty($params['targetType'])) {
throw CommonException::ERROR_PARAMETER_MISSING();
}
$this->filterParams($params);
try {
/* @var $product Product */
$product = $this->getOrderFacadeService()->getOrderProduct($params['targetType'], $params);
$product->setPickedDeduct($params);
$order = $this->getOrderFacadeService()->create($product);
if (!empty($params['isOrderCreate'])) {
return $order;
}
// 优惠卷全额抵扣
if ($this->getOrderFacadeService()->isOrderPaid($order['id'])) {
return array(
'id' => $order['id'],
'sn' => $order['sn'],
);
} else {
$this->handleParams($params, $order);
$apiRequest = new ApiRequest('/api/trades', 'POST', array(), $params);
$trade = $this->invokeResource($apiRequest);
return array(
'id' => $trade['tradeSn'],
'sn' => $trade['tradeSn'],
);
}
} catch (OrderPayCheckException $payCheckException) {
throw new BadRequestHttpException($payCheckException->getMessage(), $payCheckException, $payCheckException->getCode());
}
}
public function get(ApiRequest $request, $sn)
{
$order = $this->getOrderService()->getOrderBySn($sn);
if (!$order) {
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。