From c54e6c8f41609501875d9ff4ddda68922c9acc6e Mon Sep 17 00:00:00 2001 From: JIUNG GU <60885635+JIUNG9@users.noreply.github.com> Date: Thu, 18 Jan 2024 12:38:25 +0900 Subject: [PATCH] fix: fix the sizing --- .../GetStoreManagerApplicationService.java | 19 +++++++++++++++++-- .../store/service/FindStoreMangerService.java | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/bit/lotte/flower/user/admin/service/GetStoreManagerApplicationService.java b/src/main/java/com/bit/lotte/flower/user/admin/service/GetStoreManagerApplicationService.java index e88a9c8..604dec8 100644 --- a/src/main/java/com/bit/lotte/flower/user/admin/service/GetStoreManagerApplicationService.java +++ b/src/main/java/com/bit/lotte/flower/user/admin/service/GetStoreManagerApplicationService.java @@ -4,11 +4,14 @@ import com.bit.lotte.flower.user.admin.dto.StoreManagerApplicationData; import com.bit.lotte.flower.user.admin.dto.response.StoreManagerApplicationFormResponse; import com.bit.lotte.flower.user.store.entity.StoreManager; +import com.bit.lotte.flower.user.store.repository.StoreManagerJpaRepository; import com.bit.lotte.flower.user.store.service.FindStoreMangerService; import java.util.ArrayList; import java.util.List; import javax.transaction.Transactional; import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Component; @@ -18,6 +21,7 @@ public class GetStoreManagerApplicationService { private final FindStoreMangerService findStoreMangerService; + @Transactional public StoreManagerApplicationFormResponse getApplications(List storeManagerIdList, Pageable pageable) { @@ -27,10 +31,21 @@ public StoreManagerApplicationFormResponse getApplications(List storeManag for (Long id : storeManagerIdList) { storeManagerListByStatus.add(findStoreMangerService.findByLongId(id)); } - List < StoreManagerApplicationData > data = mapToData(storeManagerListByStatus); + List data = mapToData(storeManagerListByStatus); + Page dataByPage = getPageOfData(data, pageable); + return StoreManagerApplicationFormResponse.builder() + .data(dataByPage.getContent()).totalCnt(data.size()).build(); + } - return StoreManagerApplicationFormResponse.builder().data(data).totalCnt(data.size()).build(); + private Page getPageOfData(List data, + Pageable pageable) { + int pageSize = pageable.getPageSize(); + int pageNumber = pageable.getPageNumber(); + int fromIndex = pageNumber * pageSize; + int toIndex = Math.min(fromIndex + pageSize, data.size()); + List pageData = data.subList(fromIndex, toIndex); + return new PageImpl<>(pageData, pageable, data.size()); } public List mapToData(List managerList) { diff --git a/src/main/java/com/bit/lotte/flower/user/store/service/FindStoreMangerService.java b/src/main/java/com/bit/lotte/flower/user/store/service/FindStoreMangerService.java index dcd35b2..1b3dd29 100644 --- a/src/main/java/com/bit/lotte/flower/user/store/service/FindStoreMangerService.java +++ b/src/main/java/com/bit/lotte/flower/user/store/service/FindStoreMangerService.java @@ -13,6 +13,7 @@ public class FindStoreMangerService { private final StoreManagerJpaRepository repository; + public StoreManager findByLongId(Long id) { return repository.findById(id).orElseThrow(() -> { throw new StoreUserDomainException("존재하지 않는 스토어 매니저입니다.");