package com.style24.admin.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Notice;

/**
 * 공지사항 Dao
 * 
 * @author gagamel
 * @since 2020. 10. 30
 */
@ShopDs
public interface TsaNoticeDao {

	/**
	 * 공지사항 목록
	 * @param notice - 공지사항 정보
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	Collection<Notice> getNoticeList(Notice notice);

	/**
	 * 공지사항 수신자 목록
	 * @param noticeSq - 공지사항일련번호
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	Collection<Notice> getNoticeReceiverList(Integer noticeSq);

	/**
	 * 공지사항 파일 목록
	 * @param noticeSq - 공지사항일련번호
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	Collection<Notice> getNoticeFileList(Integer noticeSq);

	/**
	 * 공지사항 저장
	 * @param notice - 공지사항 정보
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	void createNotice(Notice notice);

	/**
	 * 공지사항 수정
	 * @param notice - 공지사항 정보
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	void updateNotice(Notice notice);

	/**
	 * 공지사항 파일 저장
	 * @param notice - 공지사항 정보
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	void createNoitceFlie(Notice notice);

	/**
	 * 공지사항 파일 삭제
	 * @param notice - 공지사항 정보
	 * @author jaewonHo
	 * @since 2020. 01. 15
	 */
	void deleteNoticeFile(Notice notice);

	/**
	 * 공지사항 수신자 삭제
	 * @param notice - 공지사항 정보
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	void deleteNoticeReceiver(Notice notice);

	/**
	 * 공지사항 수신자 저장
	 * @param notice - 공지사항 정보
	 * @author gagamel
	 * @since 2020. 10. 30
	 */
	void createNoticeReceiver(Notice notice);

}
