using MES.Service.DB; using MES.Service.Modes; using SqlSugar; namespace MES.Service.service; public class MessageCenterManager : Repository { //当前类已经继承了 Repository 增、删、查、改的方法 public List GetPushFailedPage(MessageCenter query) { return Context.Queryable() .Where(it => it.Result == 0 && it.Status == 1 && it.Seq == 1 && it.Title != null) .WhereIF(query.isShow == 1, it => it.DealWith == 0) .OrderByDescending(it => it.CreateDate) .ToPageList(1, 20); } public int save(MessageCenter entity) { entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); entity.Method = "POST"; return Db.Insertable(entity).ExecuteReturnIdentity(); } public bool SetError(MessageCenter entity) { entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); entity.Method = "POST"; entity.Result = 0; entity.DealWith = 0; entity.Status = 1; return base.Insert(entity); } //获取所有没有成功的请求 public List ErrorMsg() { return Context.Queryable() .GroupBy(a => new { a.TableName, a.Pid, a.Title, a.PageName }) .Where(a => a.DealWith == 0 && a.Status == 0 && a.Result == 0 && a.Title == null) .Select(a => new MessageCenter { TableName = a.TableName, Pid = a.Pid, Title = a.Title, PageName = a.PageName, Count = SqlFunc.AggregateCount(a.Id) }).ToList(); } //根据几种情况更新 保持页面id是固定的 //前台重新发送 public int ResetUpdate(MessageCenter entity) { return UseTransaction(db => { return db.Updateable() .SetColumns(a => a.Data == entity.Data) .SetColumns(a => a.Result == entity.Result) .SetColumns(a => a.ResultData == entity.ResultData) .SetColumns(a => a.Status == entity.Status) .SetColumns(a => a.DealWith == entity.DealWith) .SetColumnsIF(!string.IsNullOrEmpty(entity.UpdateBy), a => a.UpdateBy == entity.UpdateBy) .SetColumnsIF(!string.IsNullOrEmpty(entity.UpdateDate), a => a.UpdateDate == entity.UpdateDate) .Where(a => a.Id == entity.Id) .ExecuteCommand(); }); } }