啊鑫
2024-09-21 049c1891f1dcede1fe81320992e61c34f661898b
MES.Service/service/MessageCenterManager.cs
@@ -8,17 +8,50 @@
{
    //当前类已经继承了 Repository 增、删、查、改的方法
    public List<MessageCenter> GetPushFailedPage(MessageCenter query)
    public (List<MessageCenter> item, int TotalCount) GetPushFailedPage(
        MessageCenter query)
    {
        var totalCount = IsShow(query);
        //计算分页参数
        var startRow = (query.PageIndex - 1) * query.Limit + 1;
        var endRow = query.PageIndex * query.Limit;
        var sql = string.Format(
            "SELECT * FROM (SELECT \"ID\",\"TABLE_NAME\",\"URL\",\"METHOD\",\"DATA\",\"RESULT\",\"RESULT_DATA\",\"STATUS\",\"CREATE_BY\",\"CREATE_DATE\",\"TITLE\",\"PAGE_NAME\",\"DEAL_WITH\",\"PID\",\"SEQ\",\"ROUTE\",\"CONTENT_TYPE\",\"IS_MESSAGE\",\"UPDATE_BY\",\"UPDATE_DATE\", ROW_NUMBER() OVER (ORDER BY DEAL_WITH) AS RowIndex\n      FROM (SELECT \"ID\",\"TABLE_NAME\",\"URL\",\"METHOD\",\"DATA\",\"RESULT\",\"RESULT_DATA\",\"STATUS\",\"CREATE_BY\",\"CREATE_DATE\",\"TITLE\",\"PAGE_NAME\",\"DEAL_WITH\",\"PID\",\"SEQ\",\"ROUTE\",\"CONTENT_TYPE\",\"IS_MESSAGE\",\"UPDATE_BY\",\"UPDATE_DATE\" FROM MESSAGE_CENTER WHERE RESULT = 0 AND SEQ = 1 AND TITLE IS NOT NULL ORDER BY CREATE_DATE DESC)) T WHERE RowIndex BETWEEN {0} AND {1} ",
            startRow, endRow);
        var messageCenters =
            Db.Ado.SqlQuery<MessageCenter>(sql);
        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)
            .OrderByDescending(it => it.CreateDate)
            .ToPageList(1, 20);
            .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.Id == query.Id)
            .ExecuteCommand();
    }
    public int save(MessageCenter entity)
    {
        entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");