|
|
|
@ -5,6 +5,7 @@ namespace App\Controller\v3; |
|
|
|
use App\Constants\v3\ErrorCode; |
|
|
|
use App\Controller\BaseController; |
|
|
|
use App\Exception\ErrorCodeException; |
|
|
|
use App\Model\v3\ShoppingCart; |
|
|
|
use App\Service\v3\Interfaces\OrderOnlineServiceInterface; |
|
|
|
use Hyperf\Di\Annotation\Inject; |
|
|
|
use App\Service\v3\Interfaces\ShopCartUpdateServiceInterface; |
|
|
|
@ -28,19 +29,28 @@ class ShopCartUpdateController extends BaseController |
|
|
|
$goodsId = $this->request->input('goods_id',0); |
|
|
|
$num = $this->request->input('num',0); |
|
|
|
$activityType = $this->request->input('activity_type',1); |
|
|
|
|
|
|
|
if ($activityType == 2) { |
|
|
|
// 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')] |
|
|
|
); |
|
|
|
if($num <= 0){ |
|
|
|
$shopcartIds = ShoppingCart::query()->where([ |
|
|
|
'user_id' => $userId, |
|
|
|
'goods_id' => $goodsId, |
|
|
|
'activity_type' => $activityType |
|
|
|
]) |
|
|
|
->value('id'); |
|
|
|
$res = $this->shopCarServiceUpdate->undo($shopcartIds); |
|
|
|
}else{ |
|
|
|
if ($activityType == 2) { |
|
|
|
// 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); |
|
|
|
$res = $this->shopCarServiceUpdate->do($userId,$goodsId,$num,$activityType); |
|
|
|
} |
|
|
|
return $this->success($res); |
|
|
|
} |
|
|
|
|
|
|
|
|