IAsync.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/11/2
  6. * Time: 上午10:17
  7. */
  8. namespace async;
  9. use trans_wapper;
  10. abstract class IAsync
  11. {
  12. const max_level_pushs = 100;
  13. abstract public function run();
  14. protected function ex_user($invitees,$user)
  15. {
  16. $result = [];
  17. foreach ($invitees as $invitee)
  18. {
  19. if($invitee != $user) {
  20. $result[] = $invitee;
  21. }
  22. }
  23. return $result;
  24. }
  25. protected function tag_rewarded($user)
  26. {
  27. $user = intval($user);
  28. if($user <=0) return false;
  29. try
  30. {
  31. $mod_member = Model('member');
  32. $trans = new trans_wapper($mod_member,__METHOD__);
  33. $mod_member->editMember(['member_id' => $user],['rewared_inviter' => 1]);
  34. $trans->commit();
  35. return true;
  36. } catch (Exception $ex) {
  37. $trans->rollback();
  38. return false;
  39. }
  40. }
  41. protected function add_invitee($user)
  42. {
  43. $user = intval($user);
  44. if($user <=0) return false;
  45. $mod_member = Model('member');
  46. $mod_member->editMember(['member_id' => $user],['invitees' => ['exp','invitees+1']]);
  47. }
  48. protected function add_reward($user,$amount)
  49. {
  50. $user = intval($user);
  51. if($user <=0) return false;
  52. $mod_member = Model('member');
  53. $mod_member->editMember(['member_id' => $user],['reward_amount' => ['exp', "reward_amount+{$amount}"]]);
  54. }
  55. }