You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

51 lines
1.7 KiB

<?php
namespace App\Controller\v3;
use App\Constants\v3\ErrorCode;
use App\Controller\BaseController;
use App\Exception\ErrorCodeException;
use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
use Hyperf\Di\Annotation\Inject;
use App\Service\v3\Interfaces\ShopCartUpdateServiceInterface;
use App\Request\v3\ShopCartUpdateRequest;
class ShopCartUpdateController extends BaseController
{
/**
* @Inject
* @var OrderOnlineServiceInterface
*/
protected $orderOnlineService;
/**
* @Inject
* @var ShopCartUpdateServiceInterface
*/
protected $shopCarServiceUpdate;
public function update(ShopCartUpdateRequest $request)
{
$userId = $this->request->input('user_id',0);
$goodsId = $this->request->input('goods_id',0);
$num = $this->request->input('num',0);
$activityType = $this->request->input('activity_type',1);
// TODO 校验当前用户今天是否超过了购买活动秒杀商品的(特定价格)的订单笔数
if (!$this->orderOnlineService->checkIfBuyFlashGoodsToday($userId)) {
throw new ErrorCodeException(
ErrorCode::ORDER_ONLINE_LIMIT_BUY_COUNT,
'['.env('LIMIT_BUY_COUNT').']',
['params' => $this->request->all(), 'limit_prices' => env('LIMIT_BUY_COUNT_GOODS_PRICES')]
);
}
$res = $this->shopCarServiceUpdate->do($userId,$goodsId,$num,$activityType);
return $this->success($res);
}
public function delete()
{
$shopcartIds = $this->request->input('shopcart_ids','');
$res = $this->shopCarServiceUpdate->undo($shopcartIds);
return $this->success($res);
}
}