ActivityTimeTestHandler.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Module\AppGame\Handler\Test;
  3. use App\Module\AppGame\Handler\BaseHandler;
  4. use App\Module\User\Services\UserActivityService;
  5. use Google\Protobuf\Internal\Message;
  6. use Illuminate\Support\Facades\Log;
  7. use Uraus\Kku\Request\RequestPublicLogin;
  8. use Uraus\Kku\Response\ResponsePublicLogin;
  9. /**
  10. * 活动时间测试Handler
  11. *
  12. * 用于测试用户活动时间更新功能
  13. */
  14. class ActivityTimeTestHandler extends BaseHandler
  15. {
  16. /**
  17. * 是否需要登录
  18. *
  19. * @var bool
  20. */
  21. protected bool $need_login = true;
  22. /**
  23. * 处理测试请求
  24. *
  25. * @param Message $data
  26. * @return Message
  27. */
  28. public function handle(Message $data): Message
  29. {
  30. Log::info('活动时间测试Handler开始处理', [
  31. 'user_id' => $this->user_id,
  32. 'handler' => static::class
  33. ]);
  34. // 更新用户活动时间
  35. $this->updateUserActivityTime();
  36. // 获取用户最后登录时间和活动时间
  37. $lastLoginTime = UserActivityService::getLastLoginTime($this->user_id);
  38. $lastActivityTime = UserActivityService::getLastActivityTime($this->user_id);
  39. Log::info('用户时间信息', [
  40. 'user_id' => $this->user_id,
  41. 'last_login_time' => $lastLoginTime?->toDateTimeString(),
  42. 'last_activity_time' => $lastActivityTime?->toDateTimeString()
  43. ]);
  44. // 创建响应对象
  45. $response = new ResponsePublicLogin();
  46. $response->setToken('test_activity_time_' . time());
  47. return $response;
  48. }
  49. }