
package com.tmerclub.cloud.biz.service;

import com.tmerclub.cloud.biz.dto.NotifyTemplateRemindDTO;
import com.tmerclub.cloud.biz.model.NotifyTemplateRemind;
import com.tmerclub.cloud.biz.vo.NotifyTemplateRemindVO;
import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;

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

    /**
     * 分页获取消息提醒设置列表
     * @param pageDTO 分页参数
     * @param notifyTemplateRemindDTO
     * @return 消息提醒设置列表分页数据
     */
    PageVO<NotifyTemplateRemindVO> page(PageDTO pageDTO, NotifyTemplateRemindDTO notifyTemplateRemindDTO);

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

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

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

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

    /**
     * 根据信息获取
     * @param templateId
     * @param shopId
     * @param sysType
     * @return
     */
    NotifyTemplateRemindVO getByTemplateIdAndShopIdAndSysType(Long templateId, Long shopId, Integer sysType);
}
