Partake.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\api\model\plus\invitationgift;
  3. use app\common\model\plus\invitationgift\Partake as PartakeModel;
  4. /**
  5. * 领取记录表
  6. */
  7. class Partake extends PartakeModel
  8. {
  9. /**
  10. * 判断用户是否领过奖品
  11. */
  12. public function checkReward($invitation_reward_id, $invitation_gift_id, $user_id)
  13. {
  14. $where = [
  15. 'invitation_reward_id' => $invitation_reward_id,
  16. 'invitation_gift_id' => $invitation_gift_id,
  17. 'user_id' => $user_id,
  18. ];
  19. return $this->where($where)->find();
  20. }
  21. /**
  22. * 获取用户已领取的奖励
  23. */
  24. public function getUserPrizes($user_id, $invitation_gift_id)
  25. {
  26. $where = [
  27. 'user_id' => $user_id,
  28. 'invitation_gift_id' => $invitation_gift_id,
  29. ];
  30. return $this->with(['reward'])->where($where)->select();
  31. }
  32. //添加邀请记录
  33. public function addPartake($invitation_id, $user_id, $partake_id)
  34. {
  35. $InvitationModel = new InvitationGift();
  36. $invitation = $InvitationModel->find($invitation_id);
  37. $data = [
  38. 'invitation_gift_id' => $invitation_id,
  39. 'user_id' => $user_id,
  40. 'name' => $invitation['name'],
  41. 'app_id' => $invitation['app_id'],
  42. 'partake_id' => $partake_id
  43. ];
  44. // 添加邀请记录
  45. $this->save($data);
  46. //更新参与数量
  47. $InvitationModel->where(['invitation_gift_id' => $data['invitation_gift_id']])->update(['partake_num' => $invitation['partake_num'] + 1]);
  48. if ($invitation['inv_condition'] == 0) {//邀请会员送好礼
  49. $detail['user_id'] = $data['user_id'];
  50. $detail['invitation_gift_id'] = $data['invitation_gift_id'];
  51. $detail['type'] = 0;
  52. event('Invitation', $detail);
  53. }
  54. return true;
  55. }
  56. }