DataHandler.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Module\AppGame\Handler\User;
  3. use App\Module\AppGame\Handler\BaseHandler;
  4. use App\Module\GameItems\Services\ItemService;
  5. use App\Module\User\Services\UserService;
  6. use Google\Protobuf\Internal\Message;
  7. use Uraus\Kku\Common\DataItem;
  8. use Uraus\Kku\Common\LastData;
  9. use Uraus\Kku\Request\RequestUserData;
  10. use Uraus\Kku\Response\ResponseUserData;
  11. use Uraus\Kku\Response\UserInfo;
  12. /**
  13. * 处理用户信息请求
  14. */
  15. class DataHandler extends BaseHandler
  16. {
  17. /**
  18. * 是否需要登录
  19. * @var bool
  20. */
  21. protected bool $need_login = true;
  22. /**
  23. * 处理用户信息请求
  24. *
  25. * @param RequestUserData $data 用户信息请求数据
  26. * @return ResponseUserData 用户信息响应
  27. */
  28. public function handle(Message $data): Message
  29. {
  30. // 创建响应对象
  31. $uinfo = UserService::info($this->user_id);
  32. $uinfo2 = UserService::infoinfo($this->user_id);
  33. $response = new ResponseUserData();
  34. $info = new UserInfo();
  35. $info->setMobile($uinfo->username);
  36. $info->setUserId($uinfo->id);
  37. $info->setSkinId($uinfo2->avatar);
  38. $info->setAvatar($uinfo2->avatar);
  39. $info->setNickName($uinfo2->nickname);
  40. $response->setInfo($info);
  41. // 激活 物品 lastData
  42. $itemService = new ItemService();
  43. $items = $itemService->getUserItems($this->user_id);
  44. $itemLs = [];
  45. foreach ($items as $item) {
  46. $li= new DataItem();
  47. if($item->instance_id){
  48. $li->setInstanceId($item->instance_id);
  49. }
  50. $li->setItemId($item->item_id);
  51. $li->setQuantity($item->quantity);
  52. $itemLs[] = $li;
  53. }
  54. $lastData = new LastData();
  55. $lastData->setItems($itemLs);
  56. $this->response->setLastData($lastData);
  57. // 激活 货币 lastData
  58. // 神像
  59. // 土地
  60. // 宠物
  61. // 房屋
  62. return $response;
  63. }
  64. }