/**
 * 
 */
package kcg.faics.board.service.impl;

import java.util.HashMap;
import java.util.List;

import javax.annotation.Resource;

import kcg.faics.board.vo.BoardCommentVO;
import kcg.faics.cmmn.bbs.BaseCommentService;

import org.springframework.stereotype.Service;


/** 
 * BoardCommentServiceImpl.java 
 * @author 임새미 
 * @since 2016. 9. 29.
 *
 *  	 수정일                     수정자                                       수정내용
 *  -------------	--------	---------------------------
 *  2016. 9. 29. 	    임새미				       최초생성
 * 
 */
@Service("boardCommentService")
public class BoardCommentServiceImpl implements BaseCommentService<BoardCommentVO> {

	/**
	 * BoardMapper - 게시판 덧글 데이터처리에 관한 Mapper 클래스
	 **/
    @Resource(name = "boardCommentMapper")
    private BoardCommentMapper boardCommentMapper;

    
    /**
	 * 선택한 게시물의 덧글 리스트를 반환한다.
	 * 
	 * @param bdSeq 게시판 아이디
	 * @return 선택한 게시물의 덧글 리스트
	 * @throws Exception 기본 예외 처리
	 */
	@Override
	public List<BoardCommentVO> selectList(final BoardCommentVO boardCommentVO) throws Exception {
		return boardCommentMapper.selectCommentList(boardCommentVO);
	}

	/**
	 * 선택한 덧글을 반환한다.
	 * 
	 * @param bcBdSeq 덧글 아이디
	 * @return 선택한 덧글의 상세 내용
	 * @throws Exception 기본 예외 처리
	 */
	@Override
	public BoardCommentVO select(final BoardCommentVO boardCommentVO) throws Exception {
		return boardCommentMapper.selectBoardComment(boardCommentVO);
	}

	
	/**
	 * 덧글을 추가한다.
	 * 
	 * @param boardCommentVO 덧글 데이터
	 * @return 선택한 덧글의 상세 내용
	 * @throws Exception 기본 예외 처리
	 */
	@Override
	public HashMap<String, Object> insert(final BoardCommentVO boardCommentVO) throws Exception {
		
		HashMap<String, Object> map = new HashMap<String, Object>();
		try {
			map = boardCommentMapper.insertBoardComment(boardCommentVO);
		} catch (Exception e) {
			e.printStackTrace();
			map.put("result", 0);
		}
		return map;
	}

	
	/**
	 * 선택한 덧글을 삭제한다.
	 * 
	 * @param bcBdSeq 덧글 아이디
	 * @return 성공 - 1, 실패 - 0
	 * @throws Exception 기본 예외 처리
	 */
	@Override
	public int delete(final BoardCommentVO boardCommentVO) throws Exception {
		return boardCommentMapper.deleteBoardComment(boardCommentVO);
	}

	
	/**
	 * 선택한 게시물의 모든 덧글을 삭제한다.
	 * 
	 * @param bdSeq 선택한 게시물 아이디
	 * @return 성공 - 1, 실패 - 0
	 * @throws Exception 기본 예외 처리
	 */
	@Override
	public int deleteAll(final BoardCommentVO boardCommentVO) throws Exception {
		return boardCommentMapper.deleteBoardCommentAll(boardCommentVO);
	}
	
}
