Skip to content

Commit db84ac2

Browse files
authored
Ops 404 be fix 검색 시 정렬 기준 변경 (#186)
* fix/OPS-403 : 공유 스페이스 썸네일 삭제 문제 * fix/OPS-403 : 검색 - 날짜별 정렬 기준 변경
1 parent 973bec2 commit db84ac2

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/main/java/org/tuna/zoopzoop/backend/domain/datasource/repository/DataSourceQRepositoryImpl.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818
import org.tuna.zoopzoop.backend.domain.datasource.dto.DataSourceSearchCondition;
1919
import org.tuna.zoopzoop.backend.domain.datasource.dto.DataSourceSearchItem;
2020
import org.tuna.zoopzoop.backend.domain.datasource.entity.Category;
21+
import org.tuna.zoopzoop.backend.domain.datasource.entity.DataSource;
2122
import org.tuna.zoopzoop.backend.domain.datasource.entity.QDataSource;
2223
import org.tuna.zoopzoop.backend.domain.datasource.entity.QTag;
2324

24-
import java.time.LocalDate;
25+
import java.time.LocalDateTime;
2526
import java.util.ArrayList;
2627
import java.util.List;
2728
import java.util.Map;
@@ -89,15 +90,15 @@ public Page<DataSourceSearchItem> search(Integer memberId, DataSourceSearchCondi
8990

9091
// content
9192
JPAQuery<Tuple> contentQuery = queryFactory
92-
.select(ds.id, ds.title, ds.dataCreatedDate, ds.summary, ds.source, ds.sourceUrl, ds.imageUrl, ds.category)
93+
.select(ds.id, ds.title, ds.createDate, ds.summary, ds.source, ds.sourceUrl, ds.imageUrl, ds.category)
9394
.from(ds)
9495
.join(ds.folder, folder)
9596
.join(pa).on(pa.archive.eq(folder.archive))
9697
.where(where.and(ownership));
9798

9899
List<OrderSpecifier<?>> orderSpecifiers = toOrderSpecifiers(pageable.getSort());
99100
if (!orderSpecifiers.isEmpty()) contentQuery.orderBy(orderSpecifiers.toArray(new OrderSpecifier<?>[0]));
100-
else contentQuery.orderBy(ds.createDate.desc());
101+
else contentQuery.orderBy(ds.createDate.desc()); // 기본 정렬: 생성일시 내림차순
101102

102103
List<Tuple> tuples = contentQuery.offset(pageable.getOffset()).limit(pageable.getPageSize()).fetch();
103104
Long totalCount = countQuery.fetchOne();
@@ -123,7 +124,7 @@ public Page<DataSourceSearchItem> search(Integer memberId, DataSourceSearchCondi
123124
.map(row -> new DataSourceSearchItem(
124125
row.get(ds.id),
125126
row.get(ds.title),
126-
row.get(ds.dataCreatedDate),
127+
row.get(ds.createDate).toLocalDate(),
127128
row.get(ds.summary),
128129
row.get(ds.source),
129130
row.get(ds.sourceUrl),
@@ -140,16 +141,16 @@ public Page<DataSourceSearchItem> search(Integer memberId, DataSourceSearchCondi
140141
private List<OrderSpecifier<?>> toOrderSpecifiers(Sort sort) {
141142
if (sort == null || sort.isEmpty()) return List.of();
142143

143-
PathBuilder<org.tuna.zoopzoop.backend.domain.datasource.entity.DataSource> root =
144-
new PathBuilder<>(org.tuna.zoopzoop.backend.domain.datasource.entity.DataSource.class, "dataSource");
144+
PathBuilder<DataSource> root =
145+
new PathBuilder<>(DataSource.class, "dataSource");
145146

146147
List<OrderSpecifier<?>> specs = new ArrayList<>();
147148
for (Sort.Order o : sort) {
148149
Order dir = o.isAscending() ? Order.ASC : Order.DESC;
149150
switch (o.getProperty()) {
150151
case "title" -> specs.add(new OrderSpecifier<>(dir, root.getString("title")));
151152
case "createdAt" -> specs.add(
152-
new OrderSpecifier<>(dir, root.getDate("dataCreatedDate", LocalDate.class))
153+
new OrderSpecifier<>(dir, root.getDateTime("createDate", LocalDateTime.class))
153154
);
154155
default -> { /* 무시 */ }
155156
}
@@ -207,7 +208,8 @@ public Page<DataSourceSearchItem> searchInArchive(Integer archiveId, DataSourceS
207208

208209
// content
209210
JPAQuery<Tuple> contentQuery = queryFactory
210-
.select(ds.id, ds.title, ds.dataCreatedDate, ds.summary, ds.source, ds.sourceUrl, ds.imageUrl, ds.category)
211+
// 이미 공유 쪽은 createDate 사용 중
212+
.select(ds.id, ds.title, ds.createDate, ds.summary, ds.source, ds.sourceUrl, ds.imageUrl, ds.category)
211213
.from(ds)
212214
.join(ds.folder, folder)
213215
.where(where.and(scope));
@@ -237,7 +239,8 @@ public Page<DataSourceSearchItem> searchInArchive(Integer archiveId, DataSourceS
237239
.map(row -> new DataSourceSearchItem(
238240
row.get(ds.id),
239241
row.get(ds.title),
240-
row.get(ds.dataCreatedDate),
242+
// LocalDateTime(createDate) → LocalDate
243+
row.get(ds.createDate).toLocalDate(),
241244
row.get(ds.summary),
242245
row.get(ds.source),
243246
row.get(ds.sourceUrl),

0 commit comments

Comments
 (0)