using Ewide.Core; using Furion.DependencyInjection; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Localization; using Newtonsoft.Json.Linq; using RoadFlow.Utility; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RoadFlow.Data { public class MessageUser: RoadFlowRepository, IMessageUser, ITransient { /// /// 查询一页已发送消息阅读人员 /// /// /// /// /// /// /// public List GetReadUserList(out int count, int size, int number, string messageId, string order) { int total = 0; var rtn = db.Queryable().Where(x => x.MessageId == messageId) .OrderByIF(!order.IsNullOrEmpty(), order).ToPageList(number, size, ref total).ToList(); count = total; return rtn; } /// /// 更新一个消息为已读 /// /// /// /// public int UpdateIsRead(string messageId, string userId) { Model.rf_messageuser tmp = GetOneBy(x => x.MessageId == messageId && x.UserId == userId); if (tmp == null) return 0; tmp.IsRead = 1; tmp.ReadTime = DateExtensions.Now; return Update(tmp); } /// /// 更新一个人员的所有未读消息为已读 /// /// /// public int UpdateAllIsRead() { IUserManager m = Furion.App.GetService(); return db.Ado.ExecuteCommand("UPDATE RF_MessageUser SET IsRead=1,ReadTime=" + DateExtensions.Now.ToString() + " WHERE IsRead=0 AND UserId="+m.UserId); } /// /// 删除一批消息 /// /// 要删除的id /// 用户ID /// public int Delete(IEnumerable guids, string userId) { var msgs = GetListBy(x => x.UserId == userId && guids.Contains(x.Id)); return Delete(msgs); } } }