xieruidong 2 years ago
parent
commit
7fb257e3cd
3 changed files with 609 additions and 229 deletions
  1. 44 2
      application/api/controller/mall/GoodsCart.php
  2. 3 0
      application/common/model/GoodsCart.php
  3. 562 227
      public/api.html

+ 44 - 2
application/api/controller/mall/GoodsCart.php

@@ -67,12 +67,54 @@ class GoodsCart extends Api
         $user->cart()->where('id',$data['id'])->delete();
         $this->success();
     }
+    /**
+     * 购物车修改
+     * @ApiParams (name=id,description=购物车id)
+     * @ApiParams (name=num,description=购买数量)
+     * @ApiParams (name=num_install,description=安装数量)
+     */
+    public function update(){
+        $data=$this->_validate([
+            'id'=>['require'],
+            'num|数量'=>['integer','gt:0'],
+            'num_install|数量'=>['integer','gt:0'],
+        ]);
+        $user=$this->auth->getUser();
+        $cart=$user->cart()->findOrFail($data['id']);
+        if(!empty($data['num'])){
+            $cart['num']=$data['num'];
+        }
+        if(!empty($data['num_install'])){
+            $cart['num_install']=$data['num_install'];
+        }
+        $this->success();
+    }
 
     /**
      * 购物车列表
-     *
+     * @ApiParams (name=coupon_use,description=是否使用优惠券)
+     * @ApiParams (name=coupon_id,description=优惠券id)
+     * @ApiReturnParams (name=amount_total,description=总金额)
+     * @ApiReturnParams (name=amount_coupon,description=优惠券优惠金额)
+     * @ApiReturnParams (name=num,description=购买件数)
+     * @ApiReturnParams (name=num_install,description=安装件数)
+     * @ApiReturnParams (name=goods,description=商品列表)
      */
     public function index(){
-        $list=
+        $user=$this->auth->getUser();
+        $info=[
+            'amount_total'=>0,
+            'amount_coupon'=>0,
+            'num'=>0,
+            'num_install'=>0,
+            'goods'=>[]
+        ];
+        $info['goods']=$user->cart()
+            ->with(['goods','sku'])
+            ->select()->toArray();
+        $info['num']=array_sum(array_column($info['goods'],'num'));
+        $info['num_install']=array_sum(array_column($info['goods'],'num_install'));
+
+        $this->success('',$info);
     }
 }

+ 3 - 0
application/common/model/GoodsCart.php

@@ -12,4 +12,7 @@ class GoodsCart Extends Model
     public function goods(){
         return $this->belongsTo(Goods::class);
     }
+    public function sku(){
+        return $this->belongsTo(GoodsSku::class);
+    }
 }

File diff suppressed because it is too large
+ 562 - 227
public/api.html


Some files were not shown because too many files changed in this diff