namespace Admin.NET.Core.Service;
///
/// 系统通知公告用户
///
[ApiDescriptionSettings(Order = 100)]
public class SysNoticeUserService : ISysNoticeUserService, ITransient
{
private readonly SqlSugarRepository _sysNoticeUserRep; // 通知公告用户表仓储
public SysNoticeUserService(SqlSugarRepository sysNoticeUserRep)
{
_sysNoticeUserRep = sysNoticeUserRep;
}
///
/// 增加
///
///
///
///
///
public async Task Add(long noticeId, List noticeUserIdList, NoticeUserStatusEnum noticeUserStatus)
{
var list = new List();
noticeUserIdList.ForEach(u =>
{
list.Add(new SysNoticeUser
{
NoticeId = noticeId,
UserId = u,
ReadStatus = noticeUserStatus
});
});
await _sysNoticeUserRep.InsertRangeAsync(list);
}
///
/// 更新
///
///
///
///
///
public async Task Update(long noticeId, List noticeUserIdList, NoticeUserStatusEnum noticeUserStatus)
{
await _sysNoticeUserRep.DeleteAsync(u => u.NoticeId == noticeId);
await Add(noticeId, noticeUserIdList, noticeUserStatus);
}
///
/// 获取通知公告用户列表
///
///
///
public async Task> GetNoticeUserListByNoticeId(long noticeId)
{
return await _sysNoticeUserRep.GetListAsync(u => u.NoticeId == noticeId);
}
///
/// 设置通知公告读取状态
///
///
///
///
///
public async Task Read(long noticeId, long userId, NoticeUserStatusEnum status)
{
await _sysNoticeUserRep.UpdateAsync(u => new SysNoticeUser
{
ReadStatus = status,
ReadTime = DateTime.Now
}, u => u.NoticeId == noticeId && u.UserId == userId);
}
}