ValidationUser.php 814 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Module\AppGame\Validations;
  3. use App\Module\AppGame\SessionApp;
  4. use App\Module\User\Unit\User;
  5. use UCore\ValidationCore;
  6. /**
  7. * Validation验证基类
  8. */
  9. abstract class ValidationUser extends ValidationCore
  10. {
  11. /**
  12. * @var \App\Module\User\Models\User $user
  13. */
  14. public $user;
  15. /**
  16. * 使用Protobuf-Message创建验证器,并注入user_id
  17. *
  18. * @param \Google\Protobuf\Internal\Message $message
  19. * @param $scene
  20. * @return static
  21. */
  22. public static function makeByProrobufUser(\Google\Protobuf\Internal\Message $message, $scene = ''): static
  23. {
  24. $data = json_decode($message->serializeToJsonString(), true);
  25. $data['user_id'] = SessionApp::getSessionId();
  26. return new static($data, [], [], $scene);
  27. }
  28. }