diff --git a/src/main/java/until/the/eternity/auctionhistory/infrastructure/persistence/AuctionHistoryQueryDslRepository.java b/src/main/java/until/the/eternity/auctionhistory/infrastructure/persistence/AuctionHistoryQueryDslRepository.java index bf51ba7c..a2cacf8b 100644 --- a/src/main/java/until/the/eternity/auctionhistory/infrastructure/persistence/AuctionHistoryQueryDslRepository.java +++ b/src/main/java/until/the/eternity/auctionhistory/infrastructure/persistence/AuctionHistoryQueryDslRepository.java @@ -39,12 +39,15 @@ public Page search(AuctionHistorySearchRequest condition, Pageab private BooleanBuilder buildPredicate(AuctionHistorySearchRequest c, QAuctionHistory ah) { BooleanBuilder builder = new BooleanBuilder(); - if (c.getItemName() != null && !c.getItemName().isBlank()) { - builder.and(ah.itemName.containsIgnoreCase(c.getItemName())); + if (c.getItemTopCategory() != null && !c.getItemTopCategory().isBlank()) { + builder.and(ah.itemTopCategory.eq(c.getItemTopCategory())); } if (c.getItemSubCategory() != null && !c.getItemSubCategory().isBlank()) { builder.and(ah.itemSubCategory.eq(c.getItemSubCategory())); } + if (c.getItemName() != null && !c.getItemName().isBlank()) { + builder.and(ah.itemName.containsIgnoreCase(c.getItemName())); + } return builder; } } diff --git a/src/main/resources/db/migration/V8__create_auction_history_index.sql b/src/main/resources/db/migration/V8__create_auction_history_index.sql new file mode 100644 index 00000000..fa98a721 --- /dev/null +++ b/src/main/resources/db/migration/V8__create_auction_history_index.sql @@ -0,0 +1,2 @@ +create index idx_top_sub_item + on auction_history (item_top_category, item_sub_category, item_name); \ No newline at end of file