GoodsFav.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace app\api\controller\mall;
  3. use app\common\controller\Api;
  4. use app\common\model\GoodsSku;
  5. /**
  6. * 商城收藏接口
  7. * @inheritdoc
  8. */
  9. class GoodsFav extends Api
  10. {
  11. protected $noNeedRight = '*';
  12. /**
  13. * 收藏商品列表
  14. * @ApiParams (name=page,dexcription=分页)
  15. * @ApiParams (name=limit,dexcription=分页)
  16. */
  17. public function index(){
  18. $user=$this->auth->getUser();
  19. $list=$user->favourite()
  20. ->order('id','desc')
  21. ->with(['goods'])
  22. ->paginate(input('limit',15))->toArray();
  23. foreach ($list['data'] as &$item){
  24. $item['sku']=GoodsSku::find($item['goods_sku_id']);
  25. }
  26. $this->success('',$list);
  27. }
  28. /**
  29. * 添加收藏
  30. * @ApiParams (name=goods_id,dexcription=商品id)
  31. */
  32. public function store(){
  33. $user=$this->auth->getUser();
  34. $data=$this->_validate([
  35. 'goods_id'=>['require'],
  36. 'goods_sku_id'=>['require'],
  37. ]);
  38. \app\common\model\Goods::findOrFail($data['goods_id']);
  39. if(!$user->favourite()->where('fav_id',$data['goods_id'])->where('goods_sku_id',$data['goods_sku_id'])->find()){
  40. $user->favourite()->save([
  41. 'fav_type'=>'goods',
  42. 'fav_id'=>$data['goods_id'],
  43. 'goods_sku_id'=>$data['goods_sku_id'],
  44. ]);
  45. }
  46. $this->success();
  47. }
  48. /**
  49. * 删除收藏
  50. * @ApiParams (name=goods_id,dexcription=商品id)
  51. */
  52. public function del(){
  53. $user=$this->auth->getUser();
  54. $data=$this->_validate([
  55. 'goods_id'=>['require'],
  56. 'goods_sku_id'=>['require'],
  57. ]);
  58. $user->favourite()->where('fav_id',$data['goods_id'])->where('goods_sku_id',$data['goods_sku_id'])->delete();
  59. $this->success();
  60. }
  61. }