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); } }