댓글 서비스를 모두 구현하고 마지막으로 트랜잭션을 적용할 것.
책 리뷰에 좋아요 서비스 구현.
참고페이지
모든 댓글마다 좋아요 버튼이 있는데, 이를 자바스크립트에서 특정하기 위해 버튼에 seq라는 임의의 태그의 속성을 지정해줌.
(댓글의 번호와 좋아요를 누른 사람의 아이디) 컬럼을 복합키로 PK로 지정해줌. 글추천 중복을 방지하였다. DataAccessException이 발생하면 null을 반환하도록 했더니, ajax의 결과가 error로 처리됨.
자신의 글에 추천을 누르는 것을 방지함.
$(document).on("click","#re-like-it",function(){
let seq = $(this).attr("seq");
let review_Writer = $("#whose-review[seq="+seq+"]").val();
let loginUser = $("#login-user-for-js").val();
if(loginUser == review_Writer){
alert("자기 리뷰에 좋아요 금지");
return false;
}
let b_itemId = $("#itemId").val();
$.ajax({
url : "re-like.do",
type : "Get",
data : {br_seq: seq, m_email: loginUser, itemId: b_itemId},
dataType : "json",
success : function(result){
setReviewListHtml(result);
},
error : function(a,b,c){
alert("같은 댓글에 좋아요는 한번만!");
}
});
});