/** * Copyright (c) 2019 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */ package com.zt.modules.message.service; import java.util.Date; import java.util.List; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zt.common.constant.Constant; import com.zt.common.service.BaseService; import com.zt.modules.message.dao.SysNoticeUserDao; import com.zt.modules.message.enums.NoticeReadStatus; import com.zt.modules.message.model.SysNoticeUser; /** * 我的通知 * * @author hehz */ @Service public class SysNoticeUserService extends BaseService { /** * 获取被通知的用户 */ public List getNoticeUserList(Long noticeId) { return baseDao.getNoticeUserList(noticeId); } /** * 标记我的通知为已读 * * @param receiverId * 接收者ID * @param noticeId * 通知ID */ public void updateReadStatus(Long receiverId, Long noticeId) { SysNoticeUser entity = new SysNoticeUser().setReceiverId(receiverId).setNoticeId(noticeId) .setStatus(NoticeReadStatus.READ.value()).setReadDate(new Date()); // 标记为已读 QueryWrapper query = new QueryWrapper<>(); query.eq("receiver_id", receiverId); query.eq("notice_id", noticeId); baseDao.update(entity, query); } /** * 未读的通知数 * * @param receiverId * 接收者ID */ public int getUnReadNoticeCount(Long receiverId) { return baseDao.selectCount(new QueryWrapper().eq(Constant.TableColumn.IS_DELETE, Constant.Bool.NO) .lambda().eq(SysNoticeUser::getReceiverId, receiverId) .eq(SysNoticeUser::getStatus, NoticeReadStatus.UNREAD.value())); } }