package cn.iocoder.yudao.module.bpm.service.oa; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.OaNoticePageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.OaNoticeSaveReqVO; import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaNoticeDO; /** * OA 通知公告 Service 接口 */ public interface OaNoticeService { /** * 创建通知公告 * * @param userId 当前用户ID * @param createReqVO 创建请求 * @return 通知公告ID */ Long createNotice(Long userId, OaNoticeSaveReqVO createReqVO); /** * 更新通知公告 * * @param updateReqVO 更新请求 */ void updateNotice(OaNoticeSaveReqVO updateReqVO); /** * 删除通知公告 * * @param id 编号 */ void deleteNotice(Long id); /** * 获得通知公告分页列表(按可见性过滤) * * @param userId 当前用户ID * @param reqVO 分页条件 * @return 分页列表 */ PageResult getNoticePage(Long userId, OaNoticePageReqVO reqVO); /** * 获得通知公告详情(同时标记已读) * * @param id 编号 * @param userId 当前用户ID * @return 通知公告 */ OaNoticeDO getNotice(Long id, Long userId); /** * 获取当前用户未读通知公告数量 * * @param userId 当前用户ID * @return 未读数量 */ Long getUnreadCount(Long userId); }