啊鑫
2024-10-30 c02ff3f682398f022488f98b87a79d4a8e04b5dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using MES.Service.DB;
using MES.Service.Modes;
using SqlSugar;
 
namespace MES.Service.service;
 
public class MessageCenterManager : Repository<MessageCenter>
{
    //当前类已经继承了 Repository 增、删、查、改的方法
 
    public List<MessageCenter> GetPushFailedPage(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);
    }
 
    public int save(MessageCenter entity)
    {
        entity.Guid = Guid.NewGuid();
        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)
                .Where(a => a.Guid == entity.Guid)
                .ExecuteCommand();
        });
    }
}