/// <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() }); } } }
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()); }