package com.yonge.cooleshow.biz.dal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.biz.dal.entity.CustomerServiceBatchSending;
import com.yonge.cooleshow.biz.dal.enums.im.EImSendStatus;
import com.yonge.cooleshow.biz.dal.wrapper.im.CustomerServiceBatchSendingWrapper;

/**
 * 客服群发
 * 2022-12-09 10:49:10
 */
public interface CustomerServiceBatchSendingService extends IService<CustomerServiceBatchSending>  {

	/**
     * 查询详情
     * @param id 详情ID
     * @return CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending
     */
    CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending detail(Long id);

    /**
     * 分页查询
     * @param page IPage<CustomerServiceBatchSending>
     * @param query CustomerServiceBatchSendingWrapper.CustomerServiceBatchSendingQuery
     * @return IPage<CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending>
     */
    IPage<CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending> selectPage(IPage<CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending> page, CustomerServiceBatchSendingWrapper.CustomerServiceBatchSendingQuery query);
	
    /**
     * 添加
     * @param customerServiceBatchSending CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending
     * @return Boolean
     */
     Boolean add(CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending customerServiceBatchSending);   

    /**
     * 更新
     * @param customerServiceBatchSending CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending
     * @return Boolean
     */
     Boolean update(CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending customerServiceBatchSending);

    /**
     * 更新消息状态
     * @param id 消息Id
     * @param sendStatus EImSendStatus
     */
    void status(Long id, EImSendStatus sendStatus);

    /**
     * 发送消息
     * @param id 群发消息ID
     */
    void sendMessage(Long id);

    /**
     * 定时发送消息
     */
    void scheduleSendMessage();
}