diff --git a/frontend/src/components/ReviewList.vue b/frontend/src/components/ReviewList.vue index 12587af..556c803 100644 --- a/frontend/src/components/ReviewList.vue +++ b/frontend/src/components/ReviewList.vue @@ -50,6 +50,7 @@
@@ -164,7 +165,10 @@ export default { }, methods: { searchReview() { - console.log(this.searchInput); + this.$refs.scrollArea.scrollTop = 0; + this.reviewUpdateDate = undefined; + this.reviewId = undefined; + this.getReviews(); }, async onScroll(e) { if (this.isEndOfList) return; @@ -178,12 +182,11 @@ export default { that: this, reviewUpdateDate: this.reviewUpdateDate, reviewId: this.reviewId, + searchInput: this.searchInput, }; await this.$store.dispatch('setReviewsByKeySet', params); if (this.reviews.length > 0) { - console.log('# reviews', this.reviews); const lastReview = this.reviews[this.reviews.length - 1]; - console.log('# lastReview', lastReview); this.reviewUpdateDate = lastReview.reviewUpDateStr; this.reviewId = lastReview.id; } diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 03dec4c..d1a4407 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -91,12 +91,13 @@ export default new Vuex.Store({ await commit('setReviewsForMap', result.data); }); }, - async setReviewsByKeySet({ commit }, { that, reviewUpdateDate, reviewId }) { + async setReviewsByKeySet({ commit }, { that, reviewUpdateDate, reviewId, searchInput }) { await process(that, async () => { const result = await axios.get('/api/review/getReviewsByKeySet', { params: { reviewUpdateDate: reviewUpdateDate, reviewId: reviewId, + searchInput: searchInput, }, }); if (!reviewUpdateDate && !reviewId) commit('setReviewsByKeySet', result.data); diff --git a/src/main/java/com/map/restaurant/good/controller/ReviewCtrl.java b/src/main/java/com/map/restaurant/good/controller/ReviewCtrl.java index c4f6f18..da8937b 100644 --- a/src/main/java/com/map/restaurant/good/controller/ReviewCtrl.java +++ b/src/main/java/com/map/restaurant/good/controller/ReviewCtrl.java @@ -34,8 +34,10 @@ public ReviewDTO getReview(@RequestParam String reviewId) { @GetMapping("/getReviewsByKeySet") public List getReviewsByKeySet( @RequestParam(value = "reviewUpdateDate", required = false) String reviewUpdateDate, - @RequestParam(value = "reviewId", required = false) String reviewId) { - return reviewService.getReviewsByKeySet(reviewUpdateDate, reviewId); + @RequestParam(value = "reviewId", required = false) String reviewId, + @RequestParam(value = "searchInput", required = false) String searchInput + ) { + return reviewService.getReviewsByKeySet(reviewUpdateDate, reviewId, searchInput); } @GetMapping("/getReviewsForMap") diff --git a/src/main/java/com/map/restaurant/good/dao/ReviewDAO.java b/src/main/java/com/map/restaurant/good/dao/ReviewDAO.java index 7e12c0d..0c1fc60 100644 --- a/src/main/java/com/map/restaurant/good/dao/ReviewDAO.java +++ b/src/main/java/com/map/restaurant/good/dao/ReviewDAO.java @@ -8,7 +8,9 @@ public interface ReviewDAO { void saveReview(ReviewDTO reviewDTO); ReviewDTO getReview(@Param("reviewId") String reviewId); List getReviewsByKeySet(@Param("reviewUpdateDate") String reviewUpdateDate, - @Param("reviewId") String reviewId); + @Param("reviewId") String reviewId, + @Param("searchInput") String searchInput + ); List getReviewsForMap(); void deleteReviews(@Param("reviewIds") List reviewIds); } diff --git a/src/main/java/com/map/restaurant/good/service/ReviewService.java b/src/main/java/com/map/restaurant/good/service/ReviewService.java index a1032df..92d3bee 100644 --- a/src/main/java/com/map/restaurant/good/service/ReviewService.java +++ b/src/main/java/com/map/restaurant/good/service/ReviewService.java @@ -28,8 +28,8 @@ public ReviewDTO getReview(String reviewId) { return reviewDAO.getReview(reviewId); } - public List getReviewsByKeySet(String reviewUpdateDate, String reviewId) { - return reviewDAO.getReviewsByKeySet(reviewUpdateDate, reviewId); + public List getReviewsByKeySet(String reviewUpdateDate, String reviewId, String searchInput) { + return reviewDAO.getReviewsByKeySet(reviewUpdateDate, reviewId, searchInput); } public List getReviewsForMap() { diff --git a/src/main/resources/mappers/ReviewMapper.xml b/src/main/resources/mappers/ReviewMapper.xml index af8ae3d..4fea5c2 100644 --- a/src/main/resources/mappers/ReviewMapper.xml +++ b/src/main/resources/mappers/ReviewMapper.xml @@ -67,6 +67,13 @@ and r.id #{reviewId} + + and ( + r.title like CONCAT('%', #{searchInput}, '%') + or + r.address like CONCAT('%', #{searchInput}, '%') + ) + order by r.update_date, r.id desc limit 10