
package com.tmerclub.cloud.biz.mapper;

import com.tmerclub.cloud.biz.dto.NotifyTemplateRemindDTO;
import com.tmerclub.cloud.biz.model.NotifyTemplateRemind;
import com.tmerclub.cloud.biz.vo.NotifyTemplateRemindVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 消息提醒设置
 *
 * @author tmerclub
 * @date 2022-10-24 13:48:38
 */
public interface NotifyTemplateRemindMapper {

    /**
     * 获取消息提醒设置列表
     * @param notifyTemplateRemindDTO
     * @return 消息提醒设置列表
     */
    List<NotifyTemplateRemindVO> list(@Param("notifyTemplateRemindDTO") NotifyTemplateRemindDTO notifyTemplateRemindDTO);

    /**
     * 根据消息提醒设置id获取消息提醒设置
     *
     * @param notifyTemplateRemindId 消息提醒设置id
     * @return 消息提醒设置
     */
    NotifyTemplateRemind getByNotifyTemplateRemindId(@Param("notifyTemplateRemindId") Long notifyTemplateRemindId);

    /**
     * 保存消息提醒设置
     *
     * @param notifyTemplateRemind 消息提醒设置
     */
    void save(@Param("notifyTemplateRemind") NotifyTemplateRemind notifyTemplateRemind);

    /**
     * 更新消息提醒设置
     *
     * @param notifyTemplateRemind 消息提醒设置
     */
    void update(@Param("notifyTemplateRemind") NotifyTemplateRemind notifyTemplateRemind);

    /**
     * 根据消息提醒设置id删除消息提醒设置
     *
     * @param notifyTemplateRemindId
     */
    void deleteById(@Param("notifyTemplateRemindId") Long notifyTemplateRemindId);

    /**
     * 根据模板id、店铺id、系统类型查询消息提醒设置
     *
     * @param templateId
     * @param shopId
     * @param sysType
     * @return
     */
    NotifyTemplateRemindVO getByTemplateIdAndShopIdAndSysType(@Param("templateId") Long templateId, @Param("shopId") Long shopId, @Param("sysType") Integer sysType);
}
