Skip to content

Commit 69854f3

Browse files
committed
feat: 마이바(MyBar) 목록 조회 서비스 로직 구현
1 parent 3adf3ce commit 69854f3

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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

Comments
 (0)