StoreCouponsController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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\v2\store;
  12. use app\services\activity\coupon\StoreCouponIssueServices;
  13. use app\services\product\product\StoreProductCouponServices;
  14. use app\Request;
  15. class StoreCouponsController
  16. {
  17. protected $services;
  18. public function __construct(StoreCouponIssueServices $services)
  19. {
  20. $this->services = $services;
  21. }
  22. /**
  23. * 可领取优惠券列表
  24. * @param Request $request
  25. * @return mixed
  26. * @throws \think\db\exception\DataNotFoundException
  27. * @throws \think\db\exception\DbException
  28. * @throws \think\db\exception\ModelNotFoundException
  29. */
  30. public function lst(Request $request)
  31. {
  32. $where = $request->getMore([
  33. ['type', 0],
  34. ['product_id', 0]
  35. ]);
  36. return app('json')->success($this->services->getIssueCouponList($request->uid(), $where));
  37. }
  38. /**
  39. * 获取新人券
  40. * @param Request $request
  41. * @return mixed
  42. * @throws \think\db\exception\DataNotFoundException
  43. * @throws \think\db\exception\DbException
  44. * @throws \think\db\exception\ModelNotFoundException
  45. */
  46. public function getNewCoupon(Request $request)
  47. {
  48. $userInfo = $request->user();
  49. $data = [];
  50. /** @var StoreCouponIssueServices $couponService */
  51. $couponService = app()->make(StoreCouponIssueServices::class);
  52. $data['list'] = $couponService->getNewCoupon();
  53. $data['image'] = sys_config('coupon_img');
  54. if ($userInfo->add_time === $userInfo->last_time) {
  55. $data['show'] = 1;
  56. } else {
  57. $data['show'] = 0;
  58. }
  59. return app('json')->success($data);
  60. }
  61. /**
  62. * 赠送下单之后订单中 关联优惠劵
  63. * @param Request $request
  64. * @param $orderId
  65. * @return mixed
  66. */
  67. public function getOrderProductCoupon(Request $request, $orderId)
  68. {
  69. $uid = (int)$request->uid() ?? 0;
  70. if (!$orderId) {
  71. return app('json')->fail(100100);
  72. }
  73. /** @var StoreProductCouponServices $storeProductCoupon */
  74. $storeProductCoupon = app()->make(StoreProductCouponServices::class);
  75. $list = $storeProductCoupon->getOrderProductCoupon($uid, $orderId);
  76. return app('json')->success($list);
  77. }
  78. /**
  79. * 获取每日新增的优惠券
  80. * @return mixed
  81. */
  82. public function getTodayCoupon(Request $request)
  83. {
  84. $uid = $request->uid() ?? 0;
  85. /** @var StoreCouponIssueServices $couponService */
  86. $couponService = app()->make(StoreCouponIssueServices::class);
  87. $data['list'] = $couponService->getTodayCoupon($uid);
  88. $data['image'] = sys_config('coupon_img');
  89. return app('json')->success($data);
  90. }
  91. }