Ejemplo n.º 1
0
        /// <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()
                    });
                }
            }
        }
Ejemplo n.º 2
0
 public void Update(CSMessageEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField, pTran);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(CSMessageEntity pEntity, IDbTransaction pTran)
 {
     Update(pEntity, true, pTran);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 在事务内创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Create(CSMessageEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Create(pEntity, pTran);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(CSMessageEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
Ejemplo n.º 6
0
 /// <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));
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public CSMessageEntity[] QueryByEntity(CSMessageEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(CSMessageEntity pEntity)
 {
     _currentDAO.Delete(pEntity);
 }
Ejemplo n.º 9
0
 public void Update(CSMessageEntity pEntity, bool pIsUpdateNullField)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Update(CSMessageEntity pEntity)
 {
     Update(pEntity, true);
 }