/// <summary> /// /// </summary> public void Execute() { using (var db = new PXinContext()) { var pushList = from push in db.TpxinPushDataSet join chat in db.TchatUserSet on push.Nodeid equals chat.Nodeid join pushkey in db.TnetReginfoExtSet on push.Nodeid equals pushkey.Nodeid where push.Expecttime < DateTime.Now && push.Status == 0 && chat.IsSysNotice == 1 select new { ID = push.Id, Typeid = push.Typeid, Nodeid = push.Nodeid, Title = push.Title, Content = push.Content, Url = push.Url, GTClientid = pushkey.Gtclientid, DeviceToken = pushkey.Devicetoken, IsNoticeDetail = chat.IsNoticeDetail, }; string content = ""; foreach (var item in pushList) { string cnt = item.Content; if (item.IsNoticeDetail == 0) { cnt = "您有一条新消息"; } content = JsonConvert.SerializeObject(new { Type = "APonitOut",//((BusinessCategoryEnum)item.Typeid).ToString(), Title = item.Title, Content = cnt, Url = item.Url.Replace("{sign}", GetQueryString(item.Nodeid)) }); facade.GtPush(item.Nodeid, item.GTClientid, item.DeviceToken, item.Title, content); facade.AddMessage(db, item.Nodeid, item.Content, item.Url, item.Title); var pushData = db.TpxinPushDataSet.FirstOrDefault(f => f.Id == item.ID); pushData.Pushtime = DateTime.Now; pushData.Status = 1; if (db.SaveChanges() < 0) { log.Info("修改推送状态失败:ID=" + pushData.Id); } } } }