xieruidong 2 年之前
父节点
当前提交
9cac1dffd8

+ 31 - 0
application/api/controller/mall/GoodsFav.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace app\api\controller\mall;
+
+use app\common\controller\Api;
+
+/**
+ * 商城收藏接口
+ * @inheritdoc
+ */
+class GoodsFav extends Api
+{
+    protected $noNeedRight = '*';
+
+    /**
+     * 收藏商品列表
+     * @ApiParams (name=page,dexcription=分页)
+     * @ApiParams (name=limit,dexcription=分页)
+     */
+    public function index(){
+        $user=$this->auth->getUser();
+        $list=$user->favourite()
+            ->order('id','desc')
+            ->with(['goods','goods.sku'])
+            ->paginate(input('limit',15))->toArray();
+        foreach ($list['data'] as &$item){
+            $item['goods']['sku']=$item['goods']['sku'][0];
+        }
+        $this->success('',$list);
+    }
+}

+ 17 - 0
application/common/model/Favourite.php

@@ -0,0 +1,17 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class Favourite extends Model
+{
+    protected $type=[
+        'tax'=>'json',
+    ];
+
+    public function goods(){
+        return $this->belongsTo(Goods::class,'fav_id');
+    }
+}

+ 1 - 0
application/common/model/Goods.php

@@ -129,6 +129,7 @@ class Goods Extends Model
             GoodsCart::where('goods_id',$goods['id'])->delete();
             UserCouponGoods::where('goods_id',$goods['id'])->delete();
             GoodsInstallLink::where('goods_id',$goods['id'])->delete();
+            Favourite::where('fav_id',$goods['id'])->where('fav_type','goods')->delete();
         });
     }
 }

+ 4 - 7
application/common/model/User.php

@@ -198,16 +198,10 @@ class User extends Model
         return $this->hasMany(Comment::class);
     }
     /**
-     *@return HasMany|Like
-     */
-    public function like(){
-        return $this->hasMany(Like::class);
-    }
-    /**
      *@return HasMany|Favourite
      */
     public function favourite(){
-        return $this->hasMany(Favourite::class);
+        return $this->hasMany(Favourite::class)->where('fav_type','goods');
     }
     public function feedback(){
         return $this->hasMany(Feedback::class);
@@ -215,6 +209,9 @@ class User extends Model
     public function moneylog(){
         return $this->hasMany(MoneyLog::class);
     }
+    public function tax(){
+        return $this->hasMany(UserTax::class);
+    }
     /**
      *@return ScoreLog|HasMany
      */

+ 13 - 0
application/common/model/UserTax.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+
+class UserTax extends Model
+{
+    protected $type=[
+        'tax'=>'json',
+    ];
+}

文件差异内容过多而无法显示
+ 383 - 223
public/api.html


部分文件因为文件数量过多而无法显示