Card.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Created by: PhpStorm
  4. * User: lytian
  5. * Date: 2019/10/31
  6. * Time: 14:44
  7. */
  8. namespace app\api\controller;
  9. use app\common\controller\Api;
  10. use app\common\library\Redis;
  11. use app\common\service\CardFlipService;
  12. use app\main\constants\ActivityConstants;
  13. use app\main\service\UserService;
  14. class Card extends Api
  15. {
  16. public function _initialize()
  17. {
  18. parent::_initialize();
  19. }
  20. /**
  21. * 获取活动的奖品列表
  22. */
  23. public function getAwardList()
  24. {
  25. $actId = $this->request->request('actId',0);
  26. if (!$actId){
  27. $this->success('活动未开始',['code'=>201]);
  28. }
  29. $res['award_list'] = CardFlipService::instance()->getCardAwardList($actId);
  30. $res['win_list'] = CardFlipService::instance()->winList($actId);
  31. $userInfo = UserService::instance()->getUserInfo();
  32. $res['record_award'] = CardFlipService::instance()->getMyAward($actId,$userInfo->id);
  33. $this->success('返回成功',$res);
  34. }
  35. public function lottery()
  36. {
  37. $actId = $this->request->request('actId',0);
  38. $userInfo = UserService::instance()->getUserInfo();
  39. $redisKey = ActivityConstants::CARD_USER_LOTTERY_KEY.$userInfo->id;
  40. $isHave = Redis::instance()->setnx($redisKey,1);
  41. if (!$isHave){
  42. $this->result([],4,'请稍后重试','json');
  43. }
  44. Redis::instance()->expire($redisKey,3);
  45. $res = CardFlipService::instance()->lottery($actId,$userInfo);
  46. $this->result($res['data'],$res['code'],'','json');
  47. }
  48. }