
package nlib.cmm.service.impl;


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

import javax.annotation.Resource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import nlib.cmm.service.MainService;
import nlib.col.service.CollectionVO;
import nlib.util.StringUtil;

@Service("mainService")
public class MainServiceImpl implements MainService
{
	private static final Logger log = LoggerFactory.getLogger(MainServiceImpl.class);
	
	@Resource(name="mainDAO")
	private MainDAO mainDAO;
	
	/**
	 * 지역문화원의 키워드 리스트를 조회한다. 
	 * 
	 * @param mngOrgCd
	 * @return
	 */
	public List<Map<String, String>> listKeywords(String mngOrgCd) {
		return mainDAO.listKeywords(mngOrgCd);
	}
	
	/**
	 * 문화원 PICK한 자료 리스트를 조회한다. 
	 * 
	 * @param mngOrgCd
	 * @return
	 */
	public List<CollectionVO> listOrgPicks(String mngOrgCd) {
		return mainDAO.listOrgPicks(mngOrgCd);
	}
	
	/**
	 * 유형별인기자료 리스트를 조회한다. : 기본 자료유형 문서로 검색 
	 * 
	 * @param searchVO
	 * @return
	 */
	public List<CollectionVO> listPops(CollectionVO searchVO) {
		return mainDAO.listPops(searchVO);
	}
	
	/**
	 * 유형별인기자료 리스트를 조회한다. : 기본 자료유형 문서로 검색 
	 * 
	 * @param mngOrgCd
	 * @return
	 */
	public List<CollectionVO> listPops(String mngOrgCd) {
		CollectionVO searchVO = new CollectionVO();
		searchVO.setMngOrgCd(mngOrgCd);
		searchVO.setTypeDivCd("IT_DOC"); // 문서 
		return listPops(mngOrgCd, null);
	}
	
	/**
	 * 유형별인기자료 리스트를 조회한다.
	 * 
	 * @param mngOrgCd
	 * @param typeDivCd
	 * @return
	 */
	public List<CollectionVO> listPops(String mngOrgCd, String typeDivCd) {
		
		CollectionVO searchVO = new CollectionVO();
		searchVO.setMngOrgCd(mngOrgCd);
		if(StringUtil.isEmpty(typeDivCd)) typeDivCd = "IT_DOC";
		searchVO.setTypeDivCd(typeDivCd);
		
		return listPops(searchVO);
	}
	
	/**
	 * 온라인자료관 리스트를 조회한다. 
	 * 
	 * @param mngOrgCd
	 * @return
	 */
	public List<CollectionVO> listOnline(String mngOrgCd) {
		return mainDAO.listOnline(mngOrgCd);
	}
	
	/**
	 * 지방문화원별 배너 정보를 조회한다. 
	 * 
	 * @param mngOrgCd
	 * @return
	 */
	public List<Map<String, String>> listBannerInfos(String mngOrgCd) {
		return mainDAO.listBannerInfos(mngOrgCd);
	}
	
	/**
	 * 메인화면 배너ID에 대한 정보를 가져온다.
	 *  
	 * @return
	 */
	public Map<String, String> getBannerInfo(String bannerId) {
		return mainDAO.getBannerInfo(bannerId);
	}
	
}