package cn.com.tenlion.freemarker.dao.templaterecord;

import cn.com.tenlion.freemarker.pojo.dtos.templaterecord.TemplateRecordDTO;
import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SaveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.exceptions.UpdateException;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;

/**
 * @ClassName: ITemplateRecordDao
 * @Description: 模板构建记录
 * @Author: WenG
 * @Date: 2020-05-07 16:50
 * @Version: 1.0
 **/
@Repository
public interface ITemplateRecordDao {

    /**
     * 新增模板构建记录
     *
     * @param params
     * @throws SaveException
     */
    void saveTemplateRecord(Map<String, Object> params) throws SaveException;

    /**
     * 删除模板构建记录
     *
     * @param params
     * @throws RemoveException
     */
    void removeTemplateRecord(Map<String, Object> params) throws RemoveException;

    /**
     * 修改模板构建记录
     *
     * @param params
     * @throws UpdateException
     */
    void updateTemplateRecord(Map<String, Object> params) throws UpdateException;

    /**
     * 模板构建记录详情
     *
     * @param params
     * @return
     * @throws SearchException
     */
    TemplateRecordDTO getTemplateRecord(Map<String, Object> params) throws SearchException;

    /**
     * 模板构建记录列表
     *
     * @param params
     * @return
     * @throws SearchException
     */
    List<TemplateRecordDTO> listTemplateRecord(Map<String, Object> params) throws SearchException;

    List<TemplateRecordDTO> getTemplateRecordByTemplateId(Map<String, Object> params) throws UpdateException;

}
