wesmiler 1 year ago
parent
commit
c3160811d3

+ 15 - 0
app/Http/Controllers/Api/v1/GoodsController.php

@@ -121,4 +121,19 @@ class GoodsController extends webApp
             return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
         }
     }
+
+    /**
+     * 删除购物车商品
+     * @return array
+     */
+    public function deleteCart()
+    {
+        $params = request()->post();
+        if(!$result = GoodsService::make()->deleteCart($this->userId, $params)){
+            return showJson(GoodsService::make()->getError(), false);
+        }else{
+            return showJson(1002, true, $result);
+        }
+
+    }
 }

+ 22 - 1
app/Services/Api/GoodsService.php

@@ -414,6 +414,27 @@ class GoodsService extends BaseService
     }
 
     /**
+     * 删除购物车商品
+     * @param $userId
+     * @param $params
+     * @return bool
+     */
+    public function deleteCart($userId, $params)
+    {
+        $ids = isset($params['ids'])? $params['ids'] : [];
+        if(empty($ids)){
+            $this->error = 2923;
+            return false;
+        }
+
+        CartsModel::whereIn('id', $ids)->update(['status'=>2,'update_time'=>time()]);
+        $this->error = 1002;
+        RedisService::clear("caches:members:cartCount:{$userId}");
+        RedisService::clear("caches:members:cartList:{$userId}");
+        return true;
+    }
+
+    /**
      * 购物车列表
      * @param $userId
      * @param int $pageSize
@@ -434,7 +455,7 @@ class GoodsService extends BaseService
             ->where(['a.status' => 1, 'a.mark' => 1,'b.status'=>1,'b.mark'=>1])
             ->where('b.cost_price', '>', 0)
             ->where('a.num', '>', 0)
-            ->select(['b.goods_id','b.merch_id','b.goods_name','b.supply_type','b.main_img','b.cost_price','b.retail_price','b.limit_num','b.lowest_num','b.brand_name','a.num','a.sku_id'])
+            ->select(['a.id as cart_id','b.goods_id','b.merch_id','b.goods_name','b.supply_type','b.main_img','b.cost_price','b.retail_price','b.limit_num','b.lowest_num','b.brand_name','a.num','a.sku_id'])
             ->orderBy('a.create_time','desc')
             ->limit($pageSize)
             ->get();

+ 2 - 0
resources/lang/zh-cn/api.php

@@ -198,6 +198,8 @@ return [
     '2921'=> '该订单不支持售后,请联系客服处理',
     '2922'=> '请选择有效的售后类型',
 
+    '2923'=> '请选择操作的商品',
+
 
     '112009'=> '供应商账户余额不足,请联系客服',
     '我正在直播,快来看看吧'=>'我正在直播,快来看看吧',

+ 1 - 1
routes/api.php

@@ -152,7 +152,7 @@ Route::prefix('v1')->group(function(){
     // 购物车
     Route::post('/cart/index', [\App\Http\Controllers\Api\v1\GoodsController::class, 'cartList']);
     Route::post('/cart/update', [\App\Http\Controllers\Api\v1\GoodsController::class, 'updateCart']);
-    Route::post('/cart/delete', [\App\Http\Controllers\Api\v1\GoodsController::class, 'delete']);
+    Route::post('/cart/delete', [\App\Http\Controllers\Api\v1\GoodsController::class, 'deleteCart']);
 
     // 订单
     Route::post('/order/index', [\App\Http\Controllers\Api\v1\OrderController::class, 'index']);