page)) { $page = new ResponsePage(); $page->setCurrentPage($dto->page['page'] ?? 1); $page->setPerPage($dto->page['per_page'] ?? 20); $page->setTotal($dto->page['total'] ?? 0); // 计算其他分页信息 $total = $dto->page['total'] ?? 0; $perPage = $dto->page['per_page'] ?? 20; $currentPage = $dto->page['page'] ?? 1; $lastPage = $perPage > 0 ? ceil($total / $perPage) : 1; $hasMore = $currentPage < $lastPage; $page->setLastPage($lastPage); $page->setHasMore($hasMore); $response->setPage($page); } // 设置用户排名 $response->setUserRank($dto->userRank); // 设置赛季 $response->setReason($dto->reason); // 转换排行榜列表 $rankItems = []; foreach ($dto->list as $item) { $rankItems[] = self::convertRankItem($item); } $response->setList($rankItems); return $response; } /** * 转换排行榜项目 * * @param WealthRankItemDto $item * @return FarmRankItem */ private static function convertRankItem(WealthRankItemDto $item): FarmRankItem { $rankItem = new FarmRankItem(); $rankItem->setRank($item->rank); $rankItem->setLevel($item->houseLevel); // 设置房屋等级 $rankItem->setUserId($item->userId); $rankItem->setNickname($item->nickname); $rankItem->setReason($item->reason); $rankItem->setFund2($item->wealth); // 设置财富值 return $rankItem; } }