Skip to content

Commit

Permalink
산책로 해시태그 조회 (수원지역)
Browse files Browse the repository at this point in the history
  • Loading branch information
nohsion committed Jun 1, 2022
1 parent 76135a2 commit 12bcf8e
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,26 @@ public ResponseEntity<?> getNearRoads(@RequestParam double lat, @RequestParam do
}
}

@GetMapping("/hashtag")
public ResponseEntity<?> findByHashtag(@RequestParam String keyword) {
try {
List<RoadHashtag> byHashtag = roadHashtagService.findByHashtag(keyword);
if (byHashtag.isEmpty()) {
ResponseDto response = ResponseDto.builder()
.error("수원 지역에 해당 해시태그에 맞는 산책로가 없습니다. keyword=" + keyword)
.build();
return ResponseEntity.badRequest().body(response);
}
List<Road> roadsByHashtag = byHashtag.stream().map(entity -> entity.getRoad()).collect(Collectors.toList());

List<RoadResponseDto> responseDtos = roadHashtagService.addHashtagRoads(roadsByHashtag);
ResponseDto response = ResponseDto.<RoadResponseDto>builder()
.data(responseDtos)
.build();
return ResponseEntity.ok(response);
} catch (Exception e) {
ResponseDto response = ResponseDto.builder().error(e.getMessage()).build();
return ResponseEntity.badRequest().body(response);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public interface RoadHashtagRepository extends JpaRepository<RoadHashtag, Long>
@Query(value = "SELECT DISTINCT hashtag FROM road_hashtag WHERE road_id=:roadId", nativeQuery = true)
List<String> findDistinctHashtagByRoadId(@Param("roadId") Long roadId);

List<RoadHashtag> findByHashtag(String hashtag);
@Query("select h from RoadHashtag h where h.hashtag=:hashtag and (h.road.startLotAddr like '%수원%' or h.road.startRoadAddr like '%수원%')")
List<RoadHashtag> findByHashtag(String hashtag); // 우선 수원 지역 해시태그 조회 기능만 제공

}
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.promenade.promenadeapp.service.Road;

import com.promenade.promenadeapp.domain.Road.Road;
import com.promenade.promenadeapp.domain.Road.RoadHashtag;
import com.promenade.promenadeapp.domain.Road.RoadHashtagRepository;
import com.promenade.promenadeapp.domain.Road.*;
import com.promenade.promenadeapp.dto.Road.RoadNearInterface;
import com.promenade.promenadeapp.dto.Road.RoadResponseDto;
import lombok.RequiredArgsConstructor;
Expand All @@ -19,6 +17,8 @@ public class RoadHashtagService {

private final RoadHashtagRepository roadHashtagRepository;

private final RoadReviewRepository roadReviewRepository;

public List<String> findHashtagsByRoadId(Long roadId) {
return roadHashtagRepository.findDistinctHashtagByRoadId(roadId);
}
Expand Down

0 comments on commit 12bcf8e

Please sign in to comment.