package incheon.ags.drm.mapper;

import incheon.ags.drm.vo.DrmBbsCmntVO;
import incheon.ags.drm.vo.DrmBbsFileVO;
import incheon.ags.drm.vo.DrmBbsVO;
import incheon.com.config.annotation.MainDB;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

import java.util.List;
import java.util.Map;

@Mapper @MainDB
public interface DrmBbsMapper {
    DrmBbsVO selectBbsShp(Long bbsShpId) throws Exception;
    List<DrmBbsVO> selectBbsCttList(DrmBbsVO drmBbsVO) throws Exception;
    int selectBbsCttListCnt(DrmBbsVO drmBbsVO) throws Exception;
    void registerBbsCtt(DrmBbsVO drmBbsVO) throws Exception;
    void plusInqCnt(Long bbsCttId) throws Exception;
    void plusTinqCnt(Long bbsShpId) throws Exception;
    DrmBbsVO selectBbsCttDetail(Long bbsCttId) throws Exception;

    List<DrmBbsFileVO> selectBbsFileList(Long bbsCttId) throws Exception;
    void registerBbsFile(DrmBbsFileVO drmBbsFileVO) throws Exception;

    List<DrmBbsCmntVO> selectBbsCmntList(Long bbsCttId) throws Exception;
    void registerBbsCmnt(DrmBbsCmntVO drmBbsCmntVO) throws Exception;
    void deleteBbsCmnt(Long cmntId) throws Exception;
    void updateBbsCtt(DrmBbsVO drmBbsVO) throws Exception;
    void deleteBbsFilesExcluding(Map<String, Object> paramMap);
    void deleteTotalBbsCmnt(Long bbsCttId) throws Exception;
    void deleteTotalBbsFile(Long bbsCttId) throws Exception;
    void deleteBbsCtt(Long bbsCttId) throws Exception;
}
