package com.kxs.system.biz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kxs.system.api.model.KxsSysMsg;
import com.kxs.system.api.vo.kxsapp.sysMsg.SysMsgPageVO;
import com.kxs.system.api.vo.kxsapp.sysMsg.SysMsgVO;

/**
 * 系统消息推送表(KxsSysMsg)表服务接口
 *
 * @author 系统
 * @since 2023-12-15 12:16:32
 */
public interface KxsSysMsgService extends IService<KxsSysMsg> {

    /**
     * app端分页获取
     *
     * @param page 页面
     * @return {@link IPage}<{@link SysMsgPageVO}>
     */
    IPage<SysMsgPageVO> getByPage(Page<SysMsgPageVO> page);

    /**
     * 阅读所有
     * 系统消息此处消息存储在redis里面，只需要清楚当前用户已读消息ID 即可
     */
    void readAll();

    /**
     * 消息详情 已读消息
     *
     * @param id id
     * @return {@link SysMsgVO}
     */
    SysMsgVO getByData(Integer id);

}

