|
| 1 | +package com.back.domain.mybar.service; |
| 2 | + |
| 3 | +import com.back.domain.mybar.dto.MyBarItemResponseDto; |
| 4 | +import com.back.domain.mybar.dto.MyBarListResponseDto; |
| 5 | +import com.back.domain.mybar.entity.MyBar; |
| 6 | +import com.back.domain.mybar.enums.KeepStatus; |
| 7 | +import com.back.domain.mybar.repository.MyBarRepository; |
| 8 | +import lombok.RequiredArgsConstructor; |
| 9 | +import org.springframework.data.domain.Page; |
| 10 | +import org.springframework.data.domain.PageRequest; |
| 11 | +import org.springframework.stereotype.Service; |
| 12 | +import org.springframework.transaction.annotation.Transactional; |
| 13 | + |
| 14 | +import java.util.ArrayList; |
| 15 | +import java.util.List; |
| 16 | + |
| 17 | +@Service |
| 18 | +@RequiredArgsConstructor |
| 19 | +public class MyBarService { |
| 20 | + |
| 21 | + private final MyBarRepository myBarRepository; |
| 22 | + |
| 23 | + @Transactional(readOnly = true) |
| 24 | + public MyBarListResponseDto getMyBar(Long userId, int page, int pageSize) { |
| 25 | + Page<MyBar> myBarPage = myBarRepository.findByUserIdAndStatusOrderByIdDesc(userId, KeepStatus.ACTIVE, PageRequest.of(page, pageSize)); |
| 26 | + |
| 27 | + List<MyBar> myBars = myBarPage.getContent(); |
| 28 | + List<MyBarItemResponseDto> items = new ArrayList<>(); |
| 29 | + for (MyBar myBar : myBars) items.add(MyBarItemResponseDto.from(myBar)); |
| 30 | + |
| 31 | + boolean hasNext = myBarPage.hasNext(); |
| 32 | + Integer nextPage = hasNext ? myBarPage.getNumber() + 1 : null; |
| 33 | + |
| 34 | + return new MyBarListResponseDto(items, hasNext, nextPage); |
| 35 | + } |
| 36 | +} |
0 commit comments