Skip to content

Commit

Permalink
[merge] 충돌 에러 해결
Browse files Browse the repository at this point in the history
  • Loading branch information
jinkonu authored Jul 12, 2024
2 parents 5c82437 + 576199f commit 565e687
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 49 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.recordy.server.record_stat.repository;

import java.util.Optional;

import org.recordy.server.record_stat.domain.Bookmark;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Slice;
Expand All @@ -14,5 +12,4 @@ public interface BookmarkRepository {

//query
Slice<Bookmark> findAllByBookmarksOrderByIdDesc(long userId, long cursor, Pageable pageable);
Optional<Bookmark> findByUserIdAndRecordId(long userId, long recordId);
}
Original file line number Diff line number Diff line change
@@ -1,45 +1,34 @@
package org.recordy.server.record_stat.repository.impl;

import com.querydsl.core.Tuple;
import com.querydsl.jpa.impl.JPAQuery;
import com.querydsl.jpa.impl.JPAQueryFactory;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import lombok.RequiredArgsConstructor;
import org.recordy.server.common.util.QueryDslUtils;
import org.recordy.server.keyword.domain.KeywordEntity;
import org.recordy.server.record.domain.QRecordEntity;
import org.recordy.server.record_stat.domain.BookmarkEntity;
import org.recordy.server.record_stat.domain.QBookmarkEntity;
import org.recordy.server.user.domain.QUserEntity;
import org.recordy.server.user.domain.UserEntity;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Slice;
import org.springframework.data.domain.SliceImpl;
import org.springframework.stereotype.Repository;

import static org.recordy.server.record.domain.QRecordEntity.recordEntity;
import static org.recordy.server.record.domain.QUploadEntity.uploadEntity;
import static org.recordy.server.record_stat.domain.QBookmarkEntity.bookmarkEntity;
import static org.recordy.server.record_stat.domain.QViewEntity.viewEntity;

@RequiredArgsConstructor
@Repository
public class BookmarkQueryDslRepository {

private final JPAQueryFactory jpaQueryFactory;

public Slice<BookmarkEntity> findAllByUserOrderByIdDesc(UserEntity userEntity, long cursor, Pageable pageable) {
public Slice<BookmarkEntity> findAllByUserOrderByIdDesc(long userId, long cursor, Pageable pageable) {
List<BookmarkEntity> bookmarkEntities = jpaQueryFactory
.selectFrom(bookmarkEntity)
.join(bookmarkEntity.record, recordEntity)
.join(bookmarkEntity.user, QUserEntity.userEntity)
.where(
QueryDslUtils.ltCursorId(cursor, bookmarkEntity.id),
QUserEntity.userEntity.eq(userEntity)

QUserEntity.userEntity.id.eq(userId)
)
.orderBy(bookmarkEntity.id.desc())
.limit(pageable.getPageSize() + 1)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
package org.recordy.server.record_stat.repository.impl;

import lombok.RequiredArgsConstructor;
import org.recordy.server.common.message.ErrorMessage;
import org.recordy.server.record_stat.domain.Bookmark;
import org.recordy.server.record_stat.domain.BookmarkEntity;
import org.recordy.server.record_stat.repository.BookmarkRepository;
import org.recordy.server.user.domain.UserEntity;
import org.recordy.server.user.exception.UserException;
import org.recordy.server.user.repository.impl.UserJpaRepository;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Slice;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@RequiredArgsConstructor
@Repository
public class BookmarkRepositoryImpl implements BookmarkRepository {

private final BookmarkJpaRepository bookmarkJpaRepository;
private final BookmarkQueryDslRepository bookmarkQueryDslRepository;
private final UserJpaRepository userJpaRepository;

@Override
public Bookmark save(Bookmark bookmark) {
Expand All @@ -35,9 +28,7 @@ public void delete(long userId, long recordId) {

@Override
public Slice<Bookmark> findAllByBookmarksOrderByIdDesc(long userId, long cursor, Pageable pageable) {
UserEntity userEntity = userJpaRepository.findById(userId)
.orElseThrow(() -> new UserException(ErrorMessage.USER_NOT_FOUND));
return bookmarkQueryDslRepository.findAllByUserOrderByIdDesc(userEntity, cursor, pageable)
return bookmarkQueryDslRepository.findAllByUserOrderByIdDesc(userId, cursor, pageable)
.map(BookmarkEntity::toDomain);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Slice;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@RequiredArgsConstructor
@Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.util.List;
import java.util.Map;

import java.util.Optional;
import org.recordy.server.record_stat.domain.Bookmark;
import org.recordy.server.record_stat.repository.BookmarkRepository;
import org.springframework.data.domain.Pageable;
Expand Down Expand Up @@ -50,11 +49,4 @@ public Slice<Bookmark> findAllByBookmarksOrderByIdDesc(long userId, long cursor,

return new SliceImpl<>(content.subList(0, pageable.getPageSize()), pageable, true);
}

@Override
public Optional<Bookmark> findByUserIdAndRecordId(long userId, long recordId) {
return bookmarks.values().stream()
.filter(bookmark -> bookmark.getUser().getId() == userId && bookmark.getRecord().getId() == recordId)
.findFirst();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -113,18 +113,4 @@ public class BookmarkRepositoryIntegrationTest extends IntegrationTest {
() -> assertThat(result.hasNext()).isFalse()
);
}

@Test
void findByUserAndRecord_통해_북마크를_찾을__있다() {
//given

//when
Bookmark bookmark = bookmarkRepository.findByUserIdAndRecordId(1,1).get();

//then
assertAll(
() -> assertThat(bookmark.getUser().getId()).isEqualTo(1),
() -> assertThat(bookmark.getRecord().getId()).isEqualTo(1)
);
}
}

0 comments on commit 565e687

Please sign in to comment.