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.
 
 

46 lines
1.1 KiB

<?php
namespace App\Service\v3\Implementations;
use App\Constants\v3\ErrorCode;
use App\Exception\ErrorCodeException;
use App\Service\v3\Interfaces\ShopCartUpdateServiceInterface;
use App\Model\v3\ShoppingCart;
use App\Model\v3\Goods;
use App\Model\v3\GoodsActivity;
use App\Constants\v3\Goods as GoodsConstants;
class ShopCartUpdateService implements ShopCartUpdateServiceInterface
{
public function do($user_id,$goods_id,$market_id,$num,$activity_type)
{
//判断是普通商品还是特价商品
if(isset($params['activity']) && $params['activity'] == GoodsConstants::IS_ACTIVITY){
$builder = GoodsActivity::query();
}else{
$builder = Goods::query();
}
$goods = $builder->select('store_id')->find($goods_id);
return ShoppingCart::query()->updateOrCreate(
[
'user_id' => $user_id,
'goods_id' => $goods_id,
'activity_type' => $activity_type
],
[
'market_id' => $market_id,
'store_id' => $goods->store_id,
'num' => $num
]
);
}
public function check()
{
// TODO: Implement check() method.
}
public function undo($params)
{
return true;
}
}