package com.storlead.message.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.storlead.framework.mybatis.service.MyBaseService;
import com.storlead.message.pojo.dto.MessageDTO;
import com.storlead.message.pojo.entity.InsideMessageSendLogEntity;
import com.storlead.message.pojo.vo.MessageAppNoReadVO;
import com.storlead.message.pojo.vo.MessageDetailVO;
import com.storlead.message.pojo.vo.MessageNoReadTotalVO;
import com.storlead.message.pojo.vo.MessageTypeReadStateVO;

import java.util.List;

/**
 * 内部消息人员接收记录表 服务类（域内接口，与实现同置于 biz）。
 *
 * @author chenkq
 * @since 2024-04-19
 */
public interface InsideMessageSendLogService extends MyBaseService<InsideMessageSendLogEntity> {

    IPage<MessageDetailVO> queryListMessageLog(Page<InsideMessageSendLogEntity> page, Wrapper<InsideMessageSendLogEntity> wrapper);

    IPage<MessageDetailVO> queryListMessageLog(MessageDTO dto);

    MessageNoReadTotalVO countNoReadtotal(Wrapper<InsideMessageSendLogEntity> wrapper);

    List<MessageTypeReadStateVO> getCountNoReadCount(Wrapper<InsideMessageSendLogEntity> wrapper);

    List<MessageAppNoReadVO> getCountNoReadCountByApp(Wrapper<InsideMessageSendLogEntity> wrapper);
}
