package kccf.res.service.impl;

import java.util.List;

import javax.annotation.Resource;

import kccf.res.service.ResourcesService;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

import cmm.service.CmmAmsAssetMediaVO;
import cmm.service.CmmCouncilInfoVO;
import cmm.service.impl.CmmCmsServiceImpl;
import cmm.util.DataMap;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.cmmn.exception.EgovBizException;

/**  
 * Resources 관리에 대한 서비스 클래스를 구현한다
 * @Class Name : ResourcesServiceImpl.java
 * @author ecplaza 
 * @since 2018-05-11
 * @version 1.0
 */

@Service("resourcesService")
public class ResourcesServiceImpl extends EgovAbstractServiceImpl implements ResourcesService{

	/** LOGGER */
	@SuppressWarnings("unused")
	private static final Logger LOGGER = LoggerFactory.getLogger(CmmCmsServiceImpl.class);
	
	/** LibraryDAO */
    @Resource(name="resourcesDAO")
    private ResourcesDAO resourcesDAO;
	
	@Override
	public int selectResourcesListTotCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesListTotCnt(cmmAmsAssetMediaVO);
	}
	@Override
	public int selectResourcesListSchTotCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesListSchTotCnt(cmmAmsAssetMediaVO);
	}
	
	@Override
	@Cacheable(value="resProvideCntCache")
	public int selectResourcesListProvideTotCnt() throws EgovBizException {
		return resourcesDAO.selectResourcesListProvideTotCnt();
	}
	@Override
	public int selectResourcesListOpenTotCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesListOpenTotCnt(cmmAmsAssetMediaVO);
	}

	@Override
	public List<CmmAmsAssetMediaVO> selectResourcesList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesList(cmmAmsAssetMediaVO);
	}
	
	@Override
    @Cacheable(value="councilCache")
	public List<DataMap> selectCouncilList() throws EgovBizException {
		return resourcesDAO.selectCouncilList();
	}
	
	@Override
	public CmmCouncilInfoVO selectCouncilInfo(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectCouncilInfo(cmmAmsAssetMediaVO);
	}
	
    @Override
    public List<DataMap> selectCouMainBannerList(DataMap param) throws EgovBizException {
    	return (List<DataMap>)resourcesDAO.selectCouMainBannerList(param);
    }
    @Override
    public List<DataMap> selectCouMainResTagList(DataMap param) throws EgovBizException {
    	return (List<DataMap>)resourcesDAO.selectCouMainResTagList(param);
    }
    
    @Override
	public List<CmmAmsAssetMediaVO> selectCouMainSeeResList(DataMap param) throws EgovBizException {
		return resourcesDAO.selectCouMainSeeResList(param);
	}
    
    @Override
	public List<CmmAmsAssetMediaVO> selectCouMainRecommendResList(DataMap param) throws EgovBizException {
		return resourcesDAO.selectCouMainRecommendResList(param);
	}
    @Override
    public List<DataMap> selectCouMainBestYearList(DataMap param) throws EgovBizException {
    	return (List<DataMap>)resourcesDAO.selectCouMainBestYearList(param);
    }
    
    @Override
	public List<CmmAmsAssetMediaVO> selectCouMainYearDataList(DataMap param) throws EgovBizException {
		return resourcesDAO.selectCouMainYearDataList(param);
	}
    
    
    
    
    
    
    
	
	@Override
	public int selectResourcesCouListTotCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesCouListTotCnt(cmmAmsAssetMediaVO);
	}
	@Override
	public int selectResourcesCouListSchTotCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesCouListSchTotCnt(cmmAmsAssetMediaVO);
	}

	@Override
	public List<CmmAmsAssetMediaVO> selectResourcesCouList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
		return resourcesDAO.selectResourcesCouList(cmmAmsAssetMediaVO);
	}

//	@Override
//	public CmmAmsAssetMediaVO selectResourcesDetail(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesDetail(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmCmsKeywordsVO> selectResourcesKeywordsList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesKeywordsList(cmmAmsAssetMediaVO);		
//	}
//
//	@Override
//	public List<CmmCmsTagsVO> selectResourcesTagsList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesTagsList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmCmsVO> selectResourcesThemeList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesThemeList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmCmsVO> selectResourcesAddrList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesAddrList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmCouncilInfoVO> selectResourcesCouncilList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesCouncilList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmCmsUserGroupVO> selectResourcesUserGroupList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesUserGroupList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<DataMap> selectResourcesRelatedThemeList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesRelatedThemeList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<DataMap> selectResourcesRelatedLibraryList(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesRelatedLibraryList(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmnDetailCode> selectResourcesFilter(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesFilter(cmmAmsAssetMediaVO);
//	}
//	
//	@Override
//	public List<CmmnDetailCode> selectResourcesFilterCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesFilterCnt(cmmAmsAssetMediaVO);
//	}
//
//	@Override
//	public List<CmmCouncilInfoVO> selectResourcesCouncilFilter(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesCouncilFilter(cmmAmsAssetMediaVO);
//	}
//	
//	@Override
//	public List<CmmCouncilInfoVO> selectResourcesCouncilFilterCnt(CmmAmsAssetMediaVO cmmAmsAssetMediaVO) throws EgovBizException {
//		return resourcesDAO.selectResourcesCouncilFilterCnt(cmmAmsAssetMediaVO);
//	}

}
