문제 상황

특정 유저가 여러개의 리뷰를 작성할 수 있는 상태.

-> 한사람이 여러개의 리뷰를 다는 문제 발생

 

 

해결 방법

1) 백엔드

service

if(cafeReviewRepository.existsByCafeIdAndUserId(cafeNumber, securityUser.getId())){
    return 500;
}

existsBy 문법을 사용하여 리뷰 등록 요청 userid와 cafeid를 가진 review가 등록되어있는지 여부 확인 후 존재한다면 500코드를 반환하여 이후 로직이 실행되지 않도록 처리

 

 

2) 프론트

로그인된 유저와 댓글작성한 유저의 id가 같을 때 

리뷰 등록창 양식 div hide() 처리

js

callback: function (data, pagination) {
            $('#review-list-container').empty();
            for (let review of data) {
                let tempHtml = makeHtmlReview(review);
                let userId = review["userId"];
                let cafeReviewNumber = review["cafeReviewNumber"];
                $('#review-list-container').append(tempHtml);
                if (loginUserId !== userId){
                    $(`.delete${cafeReviewNumber}`).hide();
                }
                # 추가된 코드
                if (loginUserId === userId){
                    $('#reviews .review-input-box').hide();
                    $('#reviews .star-box').hide();
                }
            }
        }

 

 

+ Recent posts