package net.okjsp.recommendation.service; import java.util.List; import net.okjsp.recommendation.dao.BoardRecommendDao; import net.okjsp.recommendation.model.BoardRecommend; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * BoardRecommendService 구현체 * * @author yjc0703 * */ @Service public class BoardRecommendServiceImpl implements BoardRecommendService { @Autowired BoardRecommendDao boardRecommendDao; /** * 게시물 구분(추천/반대/신고) : 게시물 등록. * * @param userId 회원 아이디 * @param boardId 게시판 아이디 * @param writeNo 게시물 아이디 * @param type 구분값 (추천/반대/신고) */ @Override public void addRecommendation(int userId, int boardId, int writeNo, BoardRecommend.Type type) { // 게시물인 경우에는 댓글 아이디가 "0"으로 들어간다. this.addRecommendation(userId, boardId, writeNo, 0, type); } /** * 게시물 구분(추천/반대/신고) : 댓글 등록. * * @param userId 회원 아이디 * @param boardId 게시판 아이디 * @param writeNo 게시물 아이디 * @param commentId 댓글 아이디 * @param type 구분값 (추천/반대/신고) */ @Override public void addRecommendation(int userId, int boardId, int writeNo, int commentId, BoardRecommend.Type type) { BoardRecommend boardRecommend = new BoardRecommend(); boardRecommend.setBoardId(boardId); boardRecommend.setWriteNo(writeNo); boardRecommend.setCommentId(commentId); boardRecommend.setUserId(userId); boardRecommend.setTypeId(type); this.addRecommendation(boardRecommend); } /** * 추천/반대/신고 프로세스. * * @param boardRecommend 추천/반대/신고 */ @Override public void addRecommendation(BoardRecommend boardRecommend) { // 중복 체크 if (boardRecommendDao.selectOne(boardRecommend).size() > 0) { throw new RuntimeException("이미 " + boardRecommend.getGuboonName() + "되었습니다."); } boardRecommendDao.insert(boardRecommend); } /** * 게시물 추천/반대/신고 리스트. * * @param boardId 게시판 아이디 * @param writeNo 글쓴이 아이디 * @return 추천/반대/신고 : 게시물 리스트 */ @Override public List<BoardRecommend> getRecommendation(int boardId, int writeNo) { return getRecommendation(boardId, writeNo, 0); } /** * 댓글 추천/반대/신고 리스트. * * @param boardId 게시판 아이디 * @param writeNo 글쓴이 아이디 * @param commentId 댓글 아이디 * @return 추천/반대/신고 : 댓글 리스트 */ @Override public List<BoardRecommend> getRecommendation(int boardId, int writeNo, int commentId) { List<BoardRecommend> list = boardRecommendDao.selectRecommendations(boardId, writeNo, commentId); return list; } /** * 추천/반대/신고에 해당하는 구분 값별 게시물 목록 * * @param boardId 게시판 아이디 * @param writeNo 글쓴이 아이디 * @param type 구분 값 * @return 구분 값 리스트 */ @Override public List<BoardRecommend> getRecommendationByGuboon(int boardId, int writeNo, String type) { return getRecommendationByGuboon(boardId, writeNo, 0, type); } /** * 추천/반대/신고에 해당하는 구분 값별 댓글 목록 * * @param boardId 게시판 아이디 * @param writeNo 글쓴이 아이디 * @param commentId 댓글 아이디 * @param type 구분 값 * @return 구분 값 리스트 */ @Override public List<BoardRecommend> getRecommendationByGuboon(int boardId, int writeNo, int commentId, String type) { List<BoardRecommend> list = boardRecommendDao.selectRecommendationsByGuboon(boardId, writeNo, commentId, type); return list; } }