using NewPdaSqlServer.DB;
|
using NewPdaSqlServer.entity;
|
using SqlSugar;
|
|
namespace NewPdaSqlServer.service.@base;
|
|
public class MessageCenterManager : Repository<MessageCenter>
|
{
|
//当前类已经继承了 Repository 增、删、查、改的方法
|
|
public (List<MessageCenter> item, int TotalCount) GetPushFailedPage(
|
MessageCenter query)
|
{
|
var totalCount = 0;
|
var messageCenters = Db.Queryable<MessageCenter>()
|
.Where(s => s.Result == query.DealWith
|
&& s.Seq == 1 && s.Title != null
|
&& s.DealWith == query.DealWith)
|
.OrderByDescending(s => s.CreateDate)
|
.ToPageList(query.PageIndex, query.Limit, ref totalCount);
|
|
return (messageCenters, totalCount);
|
}
|
|
//查看是否有未处理的消息
|
public int IsShow(MessageCenter query)
|
{
|
return Context.Queryable<MessageCenter>()
|
.Where(it =>
|
it.Result == 0 && it.Status == 1 &&
|
it.Seq == 1 && it.Title != null)
|
.WhereIF(query.isShow == 1, it => it.DealWith == 0)
|
.Count();
|
}
|
|
//将消息设置为已读的
|
public int UpdateRead(MessageCenter query)
|
{
|
return Db.Updateable<MessageCenter>()
|
.SetColumns(s => s.DealWith == 1)
|
.SetColumns(s => s.UpdateBy == query.UpdateBy)
|
.SetColumns(s =>
|
s.UpdateDate == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
|
.Where(s => s.Guid == query.Guid)
|
.ExecuteCommand();
|
}
|
|
|
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<MessageCenter> ErrorMsg()
|
{
|
return Context.Queryable<MessageCenter>()
|
.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<MessageCenter>(a => new MessageCenter
|
{
|
TableName = a.TableName,
|
Pid = a.Pid,
|
Title = a.Title,
|
PageName = a.PageName,
|
Count = SqlFunc.AggregateCount(a.Guid)
|
}).ToList();
|
}
|
//根据几种情况更新 保持页面id是固定的
|
|
|
//前台重新发送
|
public int ResetUpdate(MessageCenter entity)
|
{
|
return UseTransaction(db =>
|
{
|
return db.Updateable<MessageCenter>()
|
.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.Guid == entity.Guid)
|
.ExecuteCommand();
|
});
|
}
|
|
public int[] getBadge()
|
{
|
var count = Db.Queryable<MessageCenter>()
|
.Where(s => s.Result == 0 && s.Status == 1
|
&& s.Seq == 1 && s.Title != null).Count();
|
|
var count1 = Db.Queryable<MessageCenter>()
|
.Where(s => s.Result == 1 && s.Status == 1
|
&& s.Seq == 1 && s.Title != null).Count();
|
|
return [count,count1];
|
}
|
}
|