/// <summary> /// 外发 /// </summary> public void Send() { CSConversationBLL conversationBll = new CSConversationBLL(loggingSessionInfo); var conversations = conversationBll.Query(new IWhereCondition[] { new DirectCondition("IsPush=0 or IsPush is NULL") }, new[] { new OrderBy { FieldName = "CreateTime", Direction = OrderByDirections.Desc } }); foreach (var conversationEntity in conversations) { CSMessageBLL messageBll = new CSMessageBLL(loggingSessionInfo); CSMessageEntity messageEntity = messageBll.GetByID(conversationEntity.CSMessageID); try { switch (messageEntity.CSPipelineID) { //微信 case 1: IPushMessage pushWXMessage = new PushWeiXinMessage(loggingSessionInfo); pushWXMessage.PushMessage(conversationEntity.PersonID, conversationEntity.Content); break; //短信 case 2: IPushMessage pushSMSMessage = new PushSMSMessage(loggingSessionInfo); pushSMSMessage.PushMessage(conversationEntity.PersonID, conversationEntity.Content); break; //IOS case 3: IPushMessage pusIOSMessage = new PushIOSMessage(loggingSessionInfo); pusIOSMessage.PushMessage(conversationEntity.PersonID, conversationEntity.Content); break; //Android case 4: IPushMessage pusAndroidMessage = new PushAndroidMessage(loggingSessionInfo); pusAndroidMessage.PushMessage(conversationEntity.PersonID, conversationEntity.Content); break; } //更新已经推送 conversationEntity.IsPush = 1; conversationBll.Update(conversationEntity); } catch (Exception ex) { Loggers.DEFAULT.Debug(new DebugLogInfo { Message = "离线消息推送错误:" + ex.Message + "|" + conversationEntity.PersonID + "/" + messageEntity.CSPipelineID + "/" + conversationEntity.ToJSON() }); } } }
public void Update(CSMessageEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran) { _currentDAO.Update(pEntity, pIsUpdateNullField, pTran); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(CSMessageEntity pEntity, IDbTransaction pTran) { Update(pEntity, true, pTran); }
/// <summary> /// 在事务内创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Create(CSMessageEntity pEntity, IDbTransaction pTran) { _currentDAO.Create(pEntity, pTran); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(CSMessageEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 分页根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public PagedQueryResult <CSMessageEntity> PagedQueryByEntity(CSMessageEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex) { return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex)); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public CSMessageEntity[] QueryByEntity(CSMessageEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }
/// <summary> /// 删除 /// </summary> /// <param name="pEntity"></param> public void Delete(CSMessageEntity pEntity) { _currentDAO.Delete(pEntity); }
public void Update(CSMessageEntity pEntity, bool pIsUpdateNullField) { _currentDAO.Update(pEntity, pIsUpdateNullField); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> public void Update(CSMessageEntity pEntity) { Update(pEntity, true); }