UserRelationService.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Module\Ulogic\Services;
  3. use App\Module\Ulogic\Model\UserRelation;
  4. use App\Module\User\Models\User;
  5. class UserRelationService
  6. {
  7. /**
  8. * @var int
  9. * 新注册用户id
  10. */
  11. public static int $insertUserId = 0;
  12. /**
  13. * @param $userId
  14. * @param int $level
  15. * @return void
  16. * 绑定关系。20代
  17. */
  18. public static function createRelation($userId, int $level = 1): void
  19. {
  20. if ($level > 20) {
  21. return;
  22. }
  23. if ($level == 1) {
  24. self::$insertUserId = $userId;
  25. }
  26. // 查询上级
  27. $upUserId = User::query()->where('user_id', $userId)->value('up_user_id');
  28. if (!$upUserId) {
  29. return;
  30. }
  31. // 插入数据
  32. $model = new UserRelation();
  33. $model->user_id = self::$insertUserId;
  34. $model->relation_user_id = $upUserId;
  35. $model->level = $level;
  36. $model->create_date = date('Ymd');
  37. $model->save();
  38. self::createRelation($upUserId, $level + 1);
  39. }
  40. }