package com.style24.admin.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.CommonCode;
import com.style24.persistence.domain.MailHeaderFooter;
import com.style24.persistence.domain.MailTemplate;
import com.style24.persistence.domain.MailTemplateCorner;
import com.style24.persistence.domain.MailTemplateGoods;

/**
 * 메일헤더푸터관리 Dao
 * 
 * @author csh9191	 
 * @since 2021. 02. 02
 */
@ShopDs
public interface TsaMailTemplateDao {

	/**
	 * 메일헤더푸터 목록
	 * @param mailhf - 메일헤더푸터 정보
	 * @return
	 * @author gagamel
	 * @since 2021. 5. 13
	 */
	Collection<MailHeaderFooter> getMailHeaderFooterList(MailHeaderFooter mailhf);

	/**
	 * 메일헤더푸터 조회
	 * @param mailhfSq - 메일헤더푸터일련번호
	 * @return
	 * @author gagamel
	 * @since 2021. 5. 13
	 */
	MailHeaderFooter getMailHeaderFooter(Integer mailhfSq);

	/**
	 * 메일헤더푸터 저장
	 * @param  mailhf - 메일헤더푸터 정보
	 * @author gagamel
	 * @since 2021. 5. 13
	 */
	void saveMailHeaderFooter(MailHeaderFooter mailhf);

	/**
	 * 메일헤더푸터 삭제
	 * @param  mailhf - 메일헤더푸터 정보
	 * @author gagamel
	 * @since 2021. 5. 13
	 */
	void deleteMailHeaderFooter(MailHeaderFooter mailhf);

	/**
	 * 메일템플릿 목록
	 * @param mailtemplate - 메일템플릿 정보
	 * @return
	 * @author gagamel
	 * @since 2021. 5. 11
	 */
	Collection<MailTemplate> getMailTemplateList(MailTemplate mailTemplate);

	/**
	 * 메일헤더푸터콤보박스 목록
	 * @param mailhfGb - 메일헤더푸터구분
	 * @return
	 * @author gagamel
	 * @since 2021. 5. 11
	 */
	Collection<CommonCode> getMailHeaderFooterComboList(String mailhfGb);

	/**
	 * 메일템플릿 저장 처리
	 * @param mailTemplate - 메일템플릿 정보
	 * @return
	 * @author gagamel
	 * @since 2021. 5. 12
	 */
	void saveMailTemplate(MailTemplate mailTemplate);

	/**
	 * 메일템플릿코너 저장 처리
	 * @param mailTemplateCorner - 메일템플릿코너 정보
	 * @author gagamel
	 * @since 2021. 5. 12
	 */
	void saveMailTemplateCorner(MailTemplateCorner mailTemplateCorner);

	/**
	 * 메일템플릿코너상품 저장 처리
	 * @param mailTemplateGoods - 메일템플릿코너상품 정보
	 * @author gagamel
	 * @since 2021. 5. 12
	 */
	void saveMailTemplateCornerGoods(MailTemplateGoods mailTemplateGoods);

	/**
	 * 메일템플릿 삭제
	 * @param mailTemplate - 메일템플릿 정보
	 * @author gagamel
	 * @since 2021. 5. 11
	 */
	void deleteMailTemplate(MailTemplate mailTemplate);

	/**
	 * 메일템플릿코너 삭제
	 * @param mailTemplateCorner - 메일템플릿코너 정보
	 * @author gagamel
	 * @since 2021. 5. 12
	 */
	void deleteMailTemplateCorner(MailTemplateCorner mailTemplateCorner);

	/**
	 * 메일템플릿코너상품 삭제
	 * @param  mailTemplateGoods - 메일템플릿코너상품 정보
	 * @author gagamel
	 * @since 2021. 5. 12
	 */
	void deleteMailTemplateCornerGoods(MailTemplateGoods mailTemplateGoods);

}