package com.storlead.message.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.storlead.framework.mybatis.mapper.MyBaseMapper;
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 org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 内部消息人员接收记录表 Mapper 接口
 * </p>
 *
 * @author chenkq
 * @since 2024-04-19
 */
public interface InsideMessageSendLogMapper extends MyBaseMapper<InsideMessageSendLogEntity> {

    IPage<MessageDetailVO> pageListMessageLog(Page<InsideMessageSendLogEntity> page, @Param(Constants.WRAPPER) Wrapper<InsideMessageSendLogEntity> wrapper);

    MessageNoReadTotalVO countNoReadNumber(@Param(Constants.WRAPPER) Wrapper<InsideMessageSendLogEntity> wrapper);

    List<MessageTypeReadStateVO> countNoReadCount(@Param(Constants.WRAPPER) Wrapper<InsideMessageSendLogEntity> wrapper);

    List<MessageAppNoReadVO> countNoReadCountByApp(@Param(Constants.WRAPPER) Wrapper<InsideMessageSendLogEntity> wrapper);

}
