Couponuser.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 用户已领取优惠券
  7. */
  8. namespace app\allwin\controller\api\v4;
  9. use app\allwin\controller\api\Base;
  10. use app\allwin\model\CouponUser as AllwinCouponUser;
  11. use think\helper\Time;
  12. class Couponuser extends Base{
  13. /**
  14. * 初始化当前应用管理员是不是联盟城市账户
  15. * @return void
  16. */
  17. public function initialize() {
  18. parent::initialize();
  19. $this->isUserAuth();
  20. }
  21. /**
  22. * 用户的优惠券
  23. **/
  24. public function index(){
  25. $param['types'] = $this->request->param('types/d',0);
  26. $param['page'] = $this->request->param('page/d',1);
  27. $param['signkey'] = $this->request->param('signkey');
  28. $param['sign'] = $this->request->param('sign');
  29. $rel = $this->apiSign($param);
  30. if($rel['code'] != 200){
  31. return enjson($rel['code'],'签名验证失败');
  32. }
  33. //获取现在的时间
  34. $times = Time::today();
  35. $condition = [];
  36. $condition[] = ['uid','=',$this->user->id];
  37. $condition[] = ['member_miniapp_id','=',$this->miniapp_id];
  38. switch ($param['types']) {
  39. case 1:
  40. $condition[] = ['types','=',0];
  41. $condition[] = ['is_end','=',0];
  42. break;
  43. case 2:
  44. $condition[] = ['types','=',1];
  45. $condition[] = ['is_end','=',0];
  46. break;
  47. case 3:
  48. $condition[] = ['is_end','=',1];
  49. break;
  50. default:
  51. $condition[] = ['is_end','=',0];
  52. break;
  53. }
  54. $rel = AllwinCouponUser::where($condition)->order('id desc')->paginate(10,true);
  55. if($rel){
  56. $coupon = [];
  57. foreach ($rel as $key => $value) {
  58. $coupon[$key]['id'] = $value['id'];
  59. $coupon[$key]['types'] = $value['types'];
  60. $coupon[$key]['discount'] = $value['discount'];
  61. $coupon[$key]['store'] = $value->store->name;
  62. $coupon[$key]['store_id'] = $value->store->id;
  63. $coupon[$key]['name'] = $value['name'];
  64. $coupon[$key]['size'] = $value['size'];
  65. $coupon[$key]['user_size'] = $value['user_size'];
  66. $coupon[$key]['tips'] = $value['tips'];
  67. $coupon[$key]['price'] = $value['price'];
  68. $coupon[$key]['is_end'] = $value['is_end'];
  69. $coupon[$key]['state'] = $value['endtime'] > $times ? 0 : 2;
  70. $theme = $value['types'] ? 'yellow' : '';
  71. $coupon[$key]['theme'] = $value['is_end'] ? 'disabled' : $theme;
  72. $coupon[$key]['starttime'] = date('Y-m-d',$value['starttime']);
  73. $coupon[$key]['endtime'] = date('Y-m-d',$value['endtime']);
  74. }
  75. return json(['code'=>200,'msg' => "成功",'data' => $coupon]);
  76. }else{
  77. return json(['code'=>404,'msg' => "失败"]);
  78. }
  79. }
  80. /**
  81. * 读取单个优惠券信息
  82. **/
  83. public function getCoupon(){
  84. $param['id'] = $this->request->param('id/d');
  85. $param['signkey'] = $this->request->param('signkey');
  86. $param['sign'] = $this->request->param('sign');
  87. $rel = $this->apiSign($param);
  88. if($rel['code'] != 200){
  89. return enjson($rel['code'],'签名验证失败');
  90. }
  91. $coupon = AllwinCouponUser::where(['member_miniapp_id' => $this->miniapp_id,'id' => $param['id'],'uid' => $this->user->id])->find();
  92. $data['id'] = $coupon['id'];
  93. $data['store_id'] = $coupon['store_id'];
  94. $data['types'] = $coupon['types'];
  95. $data['name'] = $coupon['name'];
  96. $data['size'] = $coupon['size'];
  97. $data['user_size'] = $coupon['user_size'];
  98. $data['price'] = $coupon['price'];
  99. $data['discount'] = $coupon['discount'];
  100. $data['howmuch'] = $coupon['howmuch'];
  101. $data['tips'] = $coupon['tips'];
  102. $data['is_end'] = $coupon['is_end'];
  103. $data['weekday'] = implode(',',weekdays(json_decode($coupon['weekday'])));
  104. $data['starttime'] = date('Y-m-d',$coupon['starttime']);
  105. $data['endtime'] = date('Y-m-d',$coupon['endtime']);
  106. $theme = $coupon['types'] ? 'yellow' : '';
  107. $data['theme'] = $coupon['is_end'] ? 'disabled' : $theme;
  108. $data['store']['id'] = $coupon->store['id'];
  109. $data['store']['name'] = $coupon->store['name'];
  110. $data['store']['img'] = $coupon->store['img']."?x-oss-process = style/w100";
  111. $data['store']['address'] = $coupon->store['address'];
  112. $data['store']['telphone'] = $coupon->store['telphone'];
  113. $data['store']['tips'] = $coupon->store['tips'];
  114. $data['store']['is_top'] = $coupon->store['is_top'];
  115. $data['store']['tags'] = explode(',',$coupon->store['tags']);
  116. return enjson(200,'成功',$data);
  117. }
  118. }