UserCollectController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\api\controller\v1\user;
  12. use app\Request;
  13. use app\services\product\product\StoreProductRelationServices;
  14. /**
  15. * 用户收藏
  16. * Class UserCollectController
  17. * @package app\api\controller\v1\user
  18. */
  19. class UserCollectController
  20. {
  21. protected $services = NUll;
  22. /**
  23. * UserCollectController constructor.
  24. * @param StoreProductRelationServices $services
  25. */
  26. public function __construct(StoreProductRelationServices $services)
  27. {
  28. $this->services = $services;
  29. }
  30. /**
  31. * 获取收藏商品
  32. * @param Request $request
  33. * @return mixed
  34. */
  35. public function collect_user(Request $request)
  36. {
  37. $uid = (int)$request->uid();
  38. return app('json')->success($this->services->getUserCollectProduct($uid));
  39. }
  40. /**
  41. * 添加收藏
  42. * @param Request $request
  43. * @return mixed
  44. */
  45. public function collect_add(Request $request)
  46. {
  47. [$id, $category] = $request->postMore([
  48. ['id', 0],
  49. ['category', 'product']
  50. ], true);
  51. if (!$id || !is_numeric($id)) return app('json')->fail(100100);
  52. $res = $this->services->productRelation((int)$id, $request->uid(), 'collect', $category);
  53. if (!$res) {
  54. return app('json')->fail(410130);
  55. } else {
  56. return app('json')->success(410129);
  57. }
  58. }
  59. /**
  60. * 取消收藏
  61. * @param Request $request
  62. * @return mixed
  63. * @throws \Exception
  64. */
  65. public function collect_del(Request $request)
  66. {
  67. [$id, $category] = $request->postMore([
  68. ['id', []],
  69. ['category', 'product']
  70. ], true);
  71. $uid = (int)$request->uid();
  72. $res = $this->services->unProductRelation($id, $uid, 'collect', $category);
  73. if (!$res) return app('json')->fail(100020);
  74. else return app('json')->success(100019);
  75. }
  76. /**
  77. * 批量收藏
  78. * @param Request $request
  79. * @return mixed
  80. */
  81. public function collect_all(Request $request)
  82. {
  83. $collectInfo = $request->postMore([
  84. ['id', ''],
  85. ['category', 'product'],
  86. ]);
  87. $collectInfo['id'] = explode(',', $collectInfo['id']);
  88. if (!count($collectInfo['id'])) {
  89. return app('json')->fail(100100);
  90. }
  91. $uid = (int)$request->uid();
  92. $productIdS = $collectInfo['id'];
  93. $res = $this->services->productRelationAll($productIdS, $uid, 'collect', $collectInfo['category']);
  94. if (!$res) {
  95. return app('json')->fail(410130);
  96. } else {
  97. return app('json')->success(410129);
  98. }
  99. }
  100. }