Пример #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()
                    });
                }
            }
        }
Пример #2
0
        private string GetMessageVipInfo()
        {
            GetMessageVipInfoRespData respData = new GetMessageVipInfoRespData();

            try
            {
                string requestData = Request["ReqContent"];
                if (!string.IsNullOrEmpty(requestData))
                {
                    Loggers.DEFAULT.Debug(new DebugLogInfo
                    {
                        Message = "获取已发送客服信息的会员:" + requestData
                    });
                    var reqObj             = requestData.DeserializeJSONTo <RecevieMessageNewReqData>();
                    var loggingSessionInfo = Default.GetBSLoggingSession(reqObj.common.customerId, "1");
                    CSConversationBLL bll  = new CSConversationBLL(loggingSessionInfo);
                    DataSet           ds   = bll.GetMessageVipInfo(reqObj.common.userId
                                                                   , reqObj.common.customerId
                                                                   );
                    List <CSConversationEntity> ls = new List <CSConversationEntity>();
                    if (ds != null && ds.Tables != null && ds.Tables.Count != 0)
                    {
                        ls = DataTableToObject.ConvertToList <CSConversationEntity>(ds.Tables[0]);
                    }
                    respData.content = new GetMessageVipInfoRespContentData();
                    respData.content.conversations = ls;
                }
            }
            catch (Exception ex)
            {
                respData.code        = "103";
                respData.description = "操作失败:" + ex.Message;
                respData.exception   = ex.Message;
            }
            return(respData.ToJSON());
        }