PsFactory.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace app\common\behavior;
  3. use app\common\model\ps\Factory;
  4. use app\common\model\User;
  5. /**
  6. * 注册成功后建厂或凭邀请码入厂
  7. */
  8. class PsFactory
  9. {
  10. /**
  11. * ThinkPHP 行为默认入口
  12. * @param User $user
  13. * @param mixed $data
  14. */
  15. public function run($user, $data = [])
  16. {
  17. $this->userRegisterSuccessed($user, $data);
  18. }
  19. /**
  20. * @param User $user
  21. * @param mixed $data
  22. */
  23. public function userRegisterSuccessed($user, $data = [])
  24. {
  25. if (!$user instanceof User) {
  26. return;
  27. }
  28. $invite = '';
  29. $factoryName = '';
  30. if (is_array($data) && isset($data['invite_code'])) {
  31. $invite = trim($data['invite_code']);
  32. }
  33. if (is_array($data) && isset($data['factory_name'])) {
  34. $factoryName = trim((string)$data['factory_name']);
  35. }
  36. if (request()) {
  37. if ($invite === '') {
  38. $invite = (string)request()->post('invite_code', '');
  39. }
  40. if ($factoryName === '') {
  41. $factoryName = trim((string)request()->post('factory_name', ''));
  42. }
  43. }
  44. Factory::ensureBound($user, $invite, $factoryName);
  45. }
  46. }