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.KxsUserMsg;
import com.kxs.system.api.vo.kxsapp.NotReadCountVo;
import com.kxs.system.api.vo.kxsapp.sysMsg.SysMsgPageVO;
import com.kxs.system.api.vo.kxsapp.userMsg.UserMsgPageVO;
import com.kxs.system.api.vo.kxsapp.userMsg.UserMsgVO;

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

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

    /**
     * app单条数据获取
     *
     * @param id id
     * @return {@link UserMsgVO}
     */
    UserMsgVO getByData(Integer id);

    /**
     * 阅读所有
     */
    void readAll();

    /**
     * app消息未读数
     *
     * @return {@link NotReadCountVo}
     */
    NotReadCountVo notreads();

    Boolean saveMsg(KxsUserMsg userMsg);
}

