BindMobileAward.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /****************************************************************
  3. * Author: king -- LiBaoJia
  4. * Date: 2020/7/7 11:53 AM
  5. * Email: livsyitian@163.com
  6. * QQ: 995265288
  7. * IDE: PhpStorm
  8. * User: 芸众商城 www.yunzshop.com
  9. ****************************************************************/
  10. namespace app\common\services\point;
  11. use app\common\events\member\MemberBindMobile;
  12. use app\common\facades\Setting;
  13. use \app\common\models\point\BindMobileAward as BindMobileAwardModel;
  14. class BindMobileAward
  15. {
  16. /**
  17. * @param MemberBindMobile $event
  18. */
  19. public function award($event)
  20. {
  21. $memberModel = $event->getMemberModel();
  22. if ($this->awardIsRun()) {
  23. $this->awardMember($memberModel->uid);
  24. }
  25. }
  26. private function awardMember($memberId)
  27. {
  28. if (!BindMobileAwardModel::isAwarded($memberId)) {
  29. BindMobileAwardModel::awardMember($memberId, $this->awardPoint());
  30. }
  31. }
  32. /**
  33. * 是否运行开启绑定手机号奖励积分
  34. *
  35. * @return bool
  36. */
  37. private function awardIsRun()
  38. {
  39. return $this->awardState() && $this->awardPoint() > 0;
  40. }
  41. /**
  42. * 绑定手机号奖励积分值
  43. *
  44. * @return bool
  45. */
  46. private function awardPoint()
  47. {
  48. return Setting::get('point.set.bind_mobile_award_point');
  49. }
  50. /**
  51. * 绑定手机号奖励状态
  52. *
  53. * @return bool
  54. */
  55. private function awardState()
  56. {
  57. return !!Setting::get('point.set.bind_mobile_award');
  58. }
  59. }