package incheon.ags.por.service.impl;

import java.util.List;

import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.stereotype.Service;

import incheon.ags.por.mapper.PorNoticeMapper;
import incheon.ags.por.service.PorNoticeService;
import incheon.ags.por.vo.PorBoardVO;
import incheon.ags.por.vo.PorNoticeVO;
import lombok.RequiredArgsConstructor;

/**
 * 팝업공지를 위한 서비스 구현 클래스
 */
@Service("porNoticeService")
@RequiredArgsConstructor
public class PorNoticeServiceImpl extends EgovAbstractServiceImpl implements PorNoticeService {

    private final PorNoticeMapper porNoticeMapper;
    
    /**
     * 팝업공지 게시목록을 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 공지사항 목록
     * @exception Exception
     */
    @Override
    public List<PorNoticeVO> selectPublishNoticePopupList(PorNoticeVO noticeVO) throws Exception {
        return porNoticeMapper.selectPublishNoticePopupList(noticeVO);
    }
    
    /**
     * 팝업공지 목록 건수를 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 건수
     * @exception Exception
     */
    @Override
    public int selectNoticePopupListCount(PorNoticeVO noticeVO) throws Exception {
    	return porNoticeMapper.selectNoticePopupListCount(noticeVO);
    }
    
    /**
     * 팝업공지 목록을 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 공지사항 목록
     * @exception Exception
     */
    @Override
    public List<PorNoticeVO> selectNoticePopupList(PorNoticeVO noticeVO) throws Exception {
    	return porNoticeMapper.selectNoticePopupList(noticeVO);
    }
    
    /**
     * 팝업공지 목록을 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 공지사항 목록
     * @exception Exception
     */
    @Override
    public PorNoticeVO selectNoticePopup(PorNoticeVO noticeVO) throws Exception {
    	return porNoticeMapper.selectNoticePopup(noticeVO);
    }
    
    
    /**
     * 팝업공지를 등록한다.
     * @param PorNoticeVO - 등록할 정보가 담긴 PorNoticeVO
     * @return 팝업공지 등록 성공여부
     * @exception Exception
     */
    @Override
    public int insertPopupNotice(PorNoticeVO noticeVO) throws Exception {
        return porNoticeMapper.insertPopupNotice(noticeVO);
    }
    
    /**
     * 팝업공지를 등록한다.
     * @param PorNoticeVO - 등록할 정보가 담긴 PorNoticeVO
     * @return 등록된 팝업공지 ID
     * @exception Exception
     */
    @Override
    public int updatePopupNotice(PorNoticeVO noticeVO) throws Exception {
    	return porNoticeMapper.updatePopupNotice(noticeVO);
    }
} 