53 lines
1.2 KiB
Java
53 lines
1.2 KiB
Java
|
|
package com.ruoyi.system.service;
|
|||
|
|
|
|||
|
|
import java.util.List;
|
|||
|
|
import com.ruoyi.system.domain.SysNotice;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 公告已读记录 服务层
|
|||
|
|
*
|
|||
|
|
* @author ruoyi
|
|||
|
|
*/
|
|||
|
|
public interface ISysNoticeReadService
|
|||
|
|
{
|
|||
|
|
/**
|
|||
|
|
* 标记已读(幂等,重复调用不报错)
|
|||
|
|
*
|
|||
|
|
* @param noticeId 公告ID
|
|||
|
|
* @param userId 用户ID
|
|||
|
|
*/
|
|||
|
|
public void markRead(Long noticeId, Long userId);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 查询某用户未读公告数量
|
|||
|
|
*
|
|||
|
|
* @param userId 用户ID
|
|||
|
|
* @return 未读数量
|
|||
|
|
*/
|
|||
|
|
public int selectUnreadCount(Long userId);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 查询公告列表并标记当前用户已读状态(用于首页展示)
|
|||
|
|
*
|
|||
|
|
* @param userId 用户ID
|
|||
|
|
* @param limit 最多返回条数
|
|||
|
|
* @return 带 isRead 标记的公告列表
|
|||
|
|
*/
|
|||
|
|
public List<SysNotice> selectNoticeListWithReadStatus(Long userId, int limit);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 批量标记已读
|
|||
|
|
*
|
|||
|
|
* @param userId 用户ID
|
|||
|
|
* @param noticeIds 公告ID数组
|
|||
|
|
*/
|
|||
|
|
public void markReadBatch(Long userId, Long[] noticeIds);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 删除公告时清理对应已读记录
|
|||
|
|
*
|
|||
|
|
* @param noticeIds 公告ID数组
|
|||
|
|
*/
|
|||
|
|
public void deleteByNoticeIds(Long[] noticeIds);
|
|||
|
|
}
|