Skip to content

Commit

Permalink
#28 [Add] 북마크 폴더 썸네일 추가, Folder API 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
JSoi committed Aug 4, 2022
1 parent d029024 commit 055774f
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ public SuccessResponse folderUpdate (@PathVariable int folderId,
/** 폴더 리스트 */
@GetMapping("/folderList")
public List<FolderResponseDto> folderList (@AuthenticationPrincipal User user){
return folderService.folderList(user.getUsername());
// return folderService.folderList(user.getUsername());
return folderService.folderListV2(user.getUsername());
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ public class FolderResponseDto {
private int id;
private String folderName;
private String thumbNail;

private List<BookmarkInfoDto> bookmarkList;

public FolderResponseDto(Folder folder) {
Expand All @@ -38,13 +37,11 @@ public static FolderResponseDto FolderDtoRes(Folder folder) {

}
} else if(folder.getBookmarkList() == null) {

return FolderResponseDto.builder()
.folderName(folder.getFolderName())
.id(folder.getId())
.thumbNail(null)
.build();

}

return FolderResponseDto.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ public interface BookmarkRepository extends CrudRepository<Bookmark, Integer> {
boolean existsByStoreIdAndUserId(Store store, User user);

Optional<Bookmark> findByStoreIdAndUserId(Store store, User user);

@Query("select b.storeId from Bookmark b where b.folderId=:folderId order by b.createdAt desc")
List<Integer> findLatestFolder(@Param("folderId") int folderId);

Page<Bookmark> findAllByUserId(User user, Pageable pageable);

@Query(value = "select b.store_id from bookmark b where b.folder_id=:folderId order by b.created_at desc limit 1;", nativeQuery = true)
Long findLatestStore(@Param("folderId") int folderId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.mpnp.baechelin.bookmark.domain.Folder;
import com.mpnp.baechelin.user.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

import com.mpnp.baechelin.exception.CustomException;
import com.mpnp.baechelin.exception.ErrorCode;
import com.mpnp.baechelin.store.domain.Store;
import com.mpnp.baechelin.store.domain.StoreImage;
import com.mpnp.baechelin.store.repository.StoreRepository;
import com.mpnp.baechelin.user.domain.User;
import com.mpnp.baechelin.user.repository.UserRepository;
import lombok.RequiredArgsConstructor;
Expand All @@ -28,6 +31,8 @@ public class FolderService {
private final FolderRepository folderRepository;
private final UserRepository userRepository;
private final BookmarkRepository bookmarkRepository;
private final StoreRepository storeRepository;

/**
* 폴더 생성
*/
Expand Down Expand Up @@ -74,12 +79,11 @@ public List<FolderResponseDto> folderList(String socialId) {
List<FolderResponseDto> folderResponseDtoList = new ArrayList<>();
for (Folder obj : user.getFolderList()) {
FolderResponseDto folderResponseDto = FolderResponseDto.FolderDtoRes(obj);
// List<Integer> latestFolder = bookmarkRepository.findLatestFolder(obj.getId());
// folderResponseDto.setThumbNail();
folderResponseDtoList.add(folderResponseDto);
}
return folderResponseDtoList;
}

@Transactional(readOnly = true)
public List<FolderResponseDto> folderListV2(String socialId) {
User user = userRepository.findBySocialId(socialId);
Expand All @@ -89,8 +93,13 @@ public List<FolderResponseDto> folderListV2(String socialId) {
List<FolderResponseDto> folderResponseDtoList = new ArrayList<>();
for (Folder obj : user.getFolderList()) {
FolderResponseDto folderResponseDto = FolderResponseDto.FolderDtoRes(obj);
List<Integer> latestFolder = bookmarkRepository.findLatestFolder(obj.getId());
//TODO ThumbNail
// 폴더의 최신 업장 찾기
Long latestStoreId = bookmarkRepository.findLatestStore(obj.getId());
if (latestStoreId != null) {
Store latestStore = storeRepository.findById(latestStoreId).orElseThrow(() -> new CustomException(ErrorCode.NO_STORE_FOUND));
Optional<StoreImage> storeImage = latestStore.getStoreImageList().stream().findFirst();
storeImage.ifPresent(image -> folderResponseDto.setThumbNail(image.getStoreImageUrl()));
}
folderResponseDtoList.add(folderResponseDto);
}
return folderResponseDtoList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
import java.util.Optional;

public interface StoreImgRepository extends JpaRepository<StoreImage, Integer> {
@Query("select si.storeImageUrl from StoreImage si where si.store=:storeId")
String findLatestImage(@Param("storeId") int storeId);
List<StoreImage> findAllByStoreId(Long storeId);

StoreImage findByStoreId(long storeId);
Expand Down

0 comments on commit 055774f

Please sign in to comment.