DeleteHandler.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Module\AppGame\Handler\Friend;
  3. use App\Module\AppGame\Handler\BaseHandler;
  4. use App\Module\Friend\Services\FriendService;
  5. use Google\Protobuf\Internal\Message;
  6. use Uraus\Kku\Request\RequestFriendDelete;
  7. use Uraus\Kku\Response\ResponseFriendDelete;
  8. /**
  9. * 处理删除好友请求
  10. */
  11. class DeleteHandler extends BaseHandler
  12. {
  13. /**
  14. * 是否需要登录
  15. * @var bool
  16. */
  17. protected bool $need_login = true;
  18. /**
  19. * 处理删除好友请求
  20. *
  21. * @param RequestFriendDelete $data 删除好友请求数据
  22. * @return ResponseFriendDelete 删除好友响应
  23. */
  24. public function handle(Message $data): Message
  25. {
  26. // 创建响应对象
  27. $response = new ResponseFriendDelete();
  28. // 获取请求参数
  29. $friendId = $data->getUserId();
  30. // 参数验证
  31. if (empty($friendId)) {
  32. // ResponseFriendDelete没有错误码字段,只能返回空响应
  33. return $response;
  34. }
  35. // 调用服务删除好友
  36. FriendService::deleteFriend($this->user_id, $friendId);
  37. // ResponseFriendDelete没有返回字段,无法设置结果
  38. // 客户端需要通过其他方式(如刷新好友列表)来确认操作结果
  39. return $response;
  40. }
  41. }