|
|
@@ -12,6 +12,7 @@
|
|
|
namespace App\Services\Api;
|
|
|
|
|
|
use App\Models\AgentModel;
|
|
|
+use App\Models\CartsModel;
|
|
|
use App\Models\GoodsCategoryModel;
|
|
|
use App\Models\GoodsModel;
|
|
|
use App\Models\GoodsSkuModel;
|
|
|
@@ -205,6 +206,35 @@ class GoodsService extends BaseService
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加/更新购物车
|
|
|
+ * @param $userId
|
|
|
+ * @param $goodsId
|
|
|
+ * @param $params
|
|
|
+ * @return array|false
|
|
|
+ */
|
|
|
+ public function updateCart($userId, $goodsId, $params)
|
|
|
+ {
|
|
|
+ $skuId = isset($params['sku_id'])? $params['sku_id'] : 0;
|
|
|
+ $status = isset($params['status'])? $params['status'] : 0;
|
|
|
+ $num = isset($params['num'])? $params['num'] : 1;
|
|
|
+ if($skuId<=0 || $goodsId<=0 || $userId<=0 || $num<=0){
|
|
|
+ $this->error = 2014;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ $cartId = CartsModel::where(['user_id'=> $userId,'goods_id'=> $goodsId,'sku_id'=>$skuId])->value('id');
|
|
|
+ if($cartId){
|
|
|
+ CartsModel::where(['id'=> $cartId])->update(['num'=> $num,'status'=>1,'mark'=>1,'update_time'=>time()]);
|
|
|
+ RedisService::clear("caches:members:carts_{$userId}");
|
|
|
+ return ['id'=> $cartId];
|
|
|
+ }else{
|
|
|
+ $cartId = CartsModel::insertGetId(['user_id'=> $userId,'goods_id'=>$goodsId,'sku_id'=>$skuId,'num'=> $num,'status'=>1,'mark'=>1,'create_time'=>time()]);
|
|
|
+ RedisService::clear("caches:members:carts_{$userId}");
|
|
|
+ return ['id'=> $cartId];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public function getFreight($userId, $addressId,$skuList)
|
|
|
{
|
|
|
$cacheKey = "caches:goods:freight:{$userId}_{$addressId}_".md5(json_encode($skuList,256));
|