Invitation.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace app\api\controller\user;
  3. use app\api\controller\Controller;
  4. use app\api\model\plus\invitationgift\Partake;
  5. use app\api\model\plus\invitationgift\InvitationReward;
  6. use app\api\model\user\User as UserModel;
  7. /**
  8. * 用户邀请有礼控制器
  9. */
  10. class Invitation extends Controller
  11. {
  12. private $model;
  13. private $user;
  14. /**
  15. * 构造方法
  16. */
  17. public function initialize()
  18. {
  19. parent::initialize();
  20. $this->user = $this->getUser();
  21. $this->model = new Partake;
  22. }
  23. /**
  24. *领奖
  25. */
  26. public function getPrize($invitation_reward_id, $invitation_gift_id)
  27. {
  28. $count = (new UserModel())->getCountInv($this->user['user_id']);
  29. $reward = InvitationReward::detail($invitation_reward_id);
  30. if (empty($reward)) {
  31. return $this->renderError('奖项不存在', '');
  32. }
  33. if ($count < $reward['invitation_num']) {
  34. return $this->renderError('未达邀请到人数', '');
  35. }
  36. if ($this->model->checkReward($invitation_reward_id, $invitation_gift_id, $this->user['user_id'])) {
  37. return $this->renderError('已经领过该奖品', '');
  38. }
  39. if ($this->model->getPrize($invitation_reward_id, $invitation_gift_id, $this->user['user_id'], $reward)) {
  40. return $this->renderSuccess('领取成功', '');
  41. }
  42. return $this->renderError('领取失败', '');
  43. }
  44. }