package cn.axzo.msg.center.dal;

import cn.axzo.msg.center.domain.dto.BatchMessageStatisticsResponseDto;
import cn.axzo.msg.center.domain.entity.MNSBatchMessage;
import cn.axzo.msg.center.domain.query.BatchMessageQuery;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 渠道模板变量序列表 服务类
 * </p>
 *
 * @author szg
 * @since 2021-08-09
 */
public interface MNSBatchMessageDao extends IService<MNSBatchMessage> {

  IPage<MNSBatchMessage> queryByPage(BatchMessageQuery query);

  MNSBatchMessage queryBatchMessage(String batchNo);

  boolean updateBatchMessage(MNSBatchMessage batchMessage, String batchNo);

  MNSBatchMessage getByChannelMsgIdAndLock(String msgId);

  boolean updateChannelInfo(String channelCode, String templateNo, String batchNo);

  BatchMessageStatisticsResponseDto getStatisticsMessageInfo(String appNo, String requestNo);

  Boolean updateStatusById(Long id, Integer status);

  Boolean updateBachMessageInfoById(Long id, Integer status, Integer successCount,
      Integer failCount);
}
