user_id; // 获取分页参数 $page = $data->getPage(); $pageNum = $page ? $page->getPage() : 1; $pageSize = $page && $page->getPerPage() > 0 ? $page->getPerPage() : 10; // 调用服务层获取排行榜数据 $rankData = HouseService::getHouseRankList($userId, $pageNum, $pageSize); // 转换为Protobuf格式并返回 return HouseRankDto::toProtobuf($rankData); } catch (\Exception $e) { Log::error('获取房屋排行榜失败', [ 'user_id' => $this->user_id ?? 0, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); throw new LogicException('获取排行榜数据失败'); } } }