web45 맛슐랭 - 찜한 맛집 리스트 구현 1. repository LikeRepository Like를 저장하기 위해 LikeRepository 를 만들었다. 특정 멤버가 누른 좋아요 리스트를 반환하기 위해 findByMember 함수를 만들었다. 특정 멤버가 특정 장소에 좋아요를 눌렀는지 확인하기 위해 existByMemberEmailAndPlace 함수를 만들었다. 특정 멤버가 특정 장소에 누른 좋아요를 제거하기 위해 deleteByMemberAndPlace 함수를 만들었다. @Repository public interface LikeRepository extends JpaRepository { void deleteByMemberAndPlace(Member loginMember, Place place); Boolean existsByMemb.. 2024. 3. 30. 맛슐랭 - 모든 맛집 리스트 조회를 위한 구현 1. repository ReviewRepository 이전에 구현했던 ReviewRepository 에 findByPlace 함수를 추가함으로써 해당 장소에 대한 모든 리뷰를 반환받을 수 있다. @Repository public interface ReviewRepository extends JpaRepository { List findByPlace(Place place); } 2. service ReviewService 이전에 구현했던 ReviewService 에 getReviewByPlace 함수를 추가함으로써 장소에 의해 리뷰를 찾을 수 있는 로직을 구현하였다. //특정 장소에 작성된 리뷰 리스트 반환 @Service @RequiredArgsConstructor public class ReviewS.. 2024. 3. 30. 맛슐랭 - 리뷰 구현 결과 1. 로그인 후 사람 아이콘 클릭 시 나오는 화면 로그인 한 회원이 작성한 리뷰의 리스트를 볼 수 있다. 글 작성 버튼을 클릭하면 리뷰 작성 페이지로 넘어간다. 2. 글작성 버튼 클릭시 나오는 화면 카카오 지도 api를 활용하여 지도 내 음식점 검색을 할 수 있도록 만들었고, 음식점 검색 시 검색된 음식점들이 지도에 마커로 표시된다. ( 참조: https://apis.map.kakao.com/web/sample/keywordList/ ) 검색목록에서 특정 음식점을 클릭하거나 특정 마커를 클릭하면 해당 음식점의 이름, 주소가 리뷰 등록 input 칸에 자동입력된다. 먹은 음식 옆 +버튼을 누르면 먹음 음식 칸을 추가할 수 있다. 3. 검색 목록 리스트에서 특정 음식점을 클릭하였거나 특정 마커 클릭시 나오는.. 2024. 3. 27. 맛슐랭 - 맛집 리뷰 Controller 구현 1. URL - 'reviews/create' 리뷰 생성을 위한 url이다. 리뷰를 생성하기 위한 html에 reviewCreateRequest 객체를 model에 담아 보내주었다. (리뷰 작성 정보를 reviewCreateRequest 객체에 담아오기 위해서이다.) @GetMapping("/create") public String reviewPage(Model model) { model.addAttribute("reviewCreateRequest",new ReviewCreateRequest()); return "/reviews/create"; } 리뷰 등록 버튼을 누르면 /reviews/create url로 reviewCreateRequest 객체가 전송된다. 해당 리뷰에 이상이 없는지 검증 후 이상이.. 2024. 3. 27. 맛슐랭 - 맛집 리뷰 service 구현 (CRUD) 1. ReviewService 리뷰를 생성, 수정, 조회, 삭제 하기 위한 로직을 구현한 서비스이다. 리뷰와 이미지는 일대다 조인이기 때문에 dto로 정보를 받아오거나 반환할 경우 for문을 사용하여 처리하였다. 리뷰 등록 시 검증 메서드에서 BindingResult 객체를 통해 오류를 담아 html로 넘겨주었다. 코드 내 주석에 설명을 적어놓았기 때문에 자세한 설명은 생략한다. @Service @RequiredArgsConstructor public class ReviewService { private final ReviewRepository reviewRepository; private final UploadImageService uploadImageService; private final Place.. 2024. 3. 27. 맛슐랭 - 맛집 리뷰 생성을 위한 Repository 구현 맛집 리뷰를 등록하기 위해서는 음식점의 정보, 리뷰에 업로드된 이미지도 DB에 저장되어야 한다. 1. PlaceRepository 해당 장소가 이미 등록되어 있는지 확인하고 그 장소를 반환 받기 위해 위도, 좌표를 사용하였다. public interface PlaceRepository extends JpaRepository { // pos_x와 pos_y값이 모두 일치하는 장소가 있는지 확인 boolean existsByPosXAndPosY(String posX, String posY); // pos_x와 pos_y값이 모두 일치하는 장소 반환 Optional findByPosXAndPosY(String posX, String posY); } 2. UploadImageRepository UploadIma.. 2024. 3. 27. 이전 1 2 3 4 ··· 8 다음