StoreCouponsController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace app\api\controller\store;
  3. use app\models\store\StoreCouponIssue;
  4. use app\Request;
  5. use crmeb\services\UtilService;
  6. use app\models\store\StoreCouponUser;
  7. /**
  8. * 优惠券类
  9. * Class StoreCouponsController
  10. * @package app\api\controller\store
  11. */
  12. class StoreCouponsController
  13. {
  14. /**
  15. * 可领取优惠券列表
  16. * @param Request $request
  17. * @return mixed
  18. */
  19. public function lst(Request $request)
  20. {
  21. $data = UtilService::getMore([
  22. ['page',0],
  23. ['limit',0]
  24. ], $request);
  25. return app('json')->successful(StoreCouponIssue::getIssueCouponList($request->uid(),$data['limit'],$data['page']));
  26. }
  27. /**
  28. * 领取优惠券
  29. *
  30. * @param Request $request
  31. * @return mixed
  32. */
  33. public function receive(Request $request)
  34. {
  35. list($couponId) = UtilService::getMore([['couponId',0]], $request, true);
  36. if(!$couponId || !is_numeric($couponId)) return app('json')->fail('参数错误!');
  37. if(StoreCouponIssue::issueUserCoupon($couponId,$request->uid())){
  38. return app('json')->successful('领取成功');
  39. }else{
  40. return app('json')->fail(StoreCouponIssue::getErrorInfo('领取失败!'));
  41. }
  42. }
  43. /**
  44. * 用户已领取优惠券
  45. * @param Request $request
  46. * @param $types
  47. * @return mixed
  48. * @throws \think\db\exception\DataNotFoundException
  49. * @throws \think\db\exception\ModelNotFoundException
  50. * @throws \think\exception\DbException
  51. */
  52. public function user(Request $request, $types)
  53. {
  54. switch ($types){
  55. case 0:case '':
  56. $list= StoreCouponUser::getUserAllCoupon($request->uid());
  57. break;
  58. case 1:
  59. $list=StoreCouponUser::getUserValidCoupon($request->uid());
  60. break;
  61. case 2:
  62. $list=StoreCouponUser::getUserAlreadyUsedCoupon($request->uid());
  63. break;
  64. default:
  65. $list=StoreCouponUser::getUserBeOverdueCoupon($request->uid());
  66. break;
  67. }
  68. foreach ($list as &$v){
  69. $v['add_time'] = date('Y/m/d',$v['add_time']);
  70. $v['end_time'] = date('Y/m/d',$v['end_time']);
  71. }
  72. return app('json')->successful($list);
  73. }
  74. /**
  75. * 批量领取优惠券
  76. * @param Request $request
  77. * @return mixed
  78. */
  79. public function receive_batch(Request $request)
  80. {
  81. list($couponIds) = UtilService::postMore([
  82. ['couponId',[]],
  83. ], $request, true);
  84. if(!count($couponIds)) return app('json')->fail('参数错误');
  85. $couponIdsError = [];
  86. $count = 0;
  87. $msg = '';
  88. foreach ($couponIds as $key=>&$item){
  89. if(!StoreCouponIssue::issueUserCoupon($item,$request->uid())){
  90. $couponIdsError[$count]['id'] = $item;
  91. $couponIdsError[$count]['msg'] = StoreCouponIssue::getErrorInfo('领取失败');
  92. }else{
  93. $couponIdsError[$count]['id'] = $item;
  94. $couponIdsError[$count]['msg'] = '领取成功';
  95. }
  96. $count++;
  97. }
  98. foreach ($couponIdsError as $key=>&$value){
  99. $msg = $msg.StoreCouponIssue::getIssueCouponTitle($value['id']).','.$value['msg'];
  100. }
  101. return app('json')->fail($msg);
  102. }
  103. /**
  104. * 优惠券 订单获取
  105. * @param Request $request
  106. * @param $price
  107. * @return mixed
  108. */
  109. public function order(Request $request, $price)
  110. {
  111. return app('json')->successful(StoreCouponUser::beUsableCouponList($request->uid(), $price));
  112. }
  113. }