Пример #1
0
        /// <summary>
        /// 向App推送消息
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public ResultDTO SendMobileMessage(MobileMsgDTO msg)
        {
            var mobileMessage = new MobileMessageDTO
            {
                AppId           = msg.AppId.ToString(),
                BasicContentDTO = new BasicContentDTO
                {
                    Id      = msg.MsgId,
                    Code    = msg.ContentCode.ToString(),
                    Content = msg.MsgContent
                },
                ProductType       = ProductType.BTP,
                ProductSecondType = (int)msg.SecondType,
                UserIds           = "[" + string.Join(",", msg.ToUsers.Select(x => "\"" + x + "\"")) + "]",
                EndTime           = DateTime.Now.AddDays(13),
                MessageType       = (MessageType)(int)(msg.MobileMsgType)
            };

            try
            {
                MessageCenter.Instance.AddMessage(mobileMessage);
            }
            catch (Exception ex)
            {
                var errMsg = string.Format("推送消息服务异常。messageDTO:{0}", JsonHelper.JsonSerializer(mobileMessage));
                LogHelper.Error(errMsg, ex);
                return(new ResultDTO {
                    isSuccess = false, ResultCode = 1, Message = errMsg
                });
            }
            return(new ResultDTO {
                isSuccess = true, ResultCode = 0, Message = "Success"
            });
        }
Пример #2
0
        public void AddMessage(MobileMessageDTO addMessageDTO)
        {
            PublishMobileMessageFacade facade = new PublishMobileMessageFacade();

            facade.ContextDTO = AuthorizeHelper.CoinInitAuthorizeInfo();
            facade.AddMessage(addMessageDTO);
        }
Пример #3
0
        void SendMessage(Guid msgId, Guid appId, Guid userId, DateTime?endTime, ShareRedMessageDTO content)
        {
            //给邀请人发送系统消息
            //调用消息中心发消息
            //定义消息内容
            MobileMessageDTO messageDTO = new MobileMessageDTO();

            messageDTO.MessageType = JAP.BaseApp.MessageCenter.Deploy.Enum.MessageType.BUSI_MSG;

            messageDTO.AppId                = appId.ToString().ToLower();
            messageDTO.BasicContentDTO      = new BasicContentDTO();
            messageDTO.BasicContentDTO.Code = "AdDividend";//"BTPShareRedEnvelope";

            messageDTO.ProductType       = JAP.BaseApp.MessageCenter.Deploy.Enum.ProductType.BTP;
            messageDTO.ProductSecondType = 3;//新红包

            DataContractJsonSerializer json = new DataContractJsonSerializer(content.GetType());
            string szJson = "";

            //序列化
            using (MemoryStream stream = new MemoryStream())
            {
                json.WriteObject(stream, content);
                szJson = Encoding.UTF8.GetString(stream.ToArray());
            }

            messageDTO.BasicContentDTO.Content = szJson.Replace("\"", "\\\"");
            //messageDTO.Content = szJson.Replace("\"", "\\\""); ;

            if (endTime != null)
            {
                messageDTO.EndTime = (DateTime)endTime;
            }
            //接收人邀请人Id
            string strRelation = "[";

            strRelation += "\"" + userId.ToString() + "\",";

            strRelation  = strRelation.Substring(0, strRelation.Length - 1);
            strRelation += "]";

            messageDTO.UserIds = strRelation;
            try
            {
                Jinher.AMP.BTP.TPS.MessageCenter.Instance.AddMessage(messageDTO);
                JAP.Common.Loging.LogHelper.Info("红包消息内容:" + userId.ToString() + ":" + ":" + messageDTO.AppId.ToString() + ":" + messageDTO.BasicContentDTO.Content);
            }
            catch (Exception ex)
            {
                JAP.Common.Loging.LogHelper.Error("Error_LogKey:RedEnvelopesProcessor.SendMessage:BaseApp.MessageCenter.ISV.Facade.PublishMobileMessageFacade.AddMessage", ex);
            }
        }
Пример #4
0
        /// <summary>
        /// 众筹发消息
        /// </summary>
        /// <param name="msgId"></param>
        /// <param name="appId"></param>
        /// <param name="endTime"></param>
        /// <param name="content"></param>
        public void SendMessage(Guid msgId, Guid appId, DateTime?endTime, CrowdfundingMessageDTO content)
        {
            //给邀请人发送系统消息
            //调用消息中心发消息
            //定义消息内容
            MobileMessageDTO messageDTO = new MobileMessageDTO();

            messageDTO.MessageType = JAP.BaseApp.MessageCenter.Deploy.Enum.MessageType.BUSI_MSG;

            messageDTO.AppId                = appId.ToString().ToLower();
            messageDTO.BasicContentDTO      = new BasicContentDTO();
            messageDTO.BasicContentDTO.Code = "CfStateChange";//"BTPShareRedEnvelope";

            messageDTO.ProductType = JAP.BaseApp.MessageCenter.Deploy.Enum.ProductType.BTP;
            //messageDTO.ProductSecondType = 3;

            DataContractJsonSerializer json = new DataContractJsonSerializer(content.GetType());
            string szJson = "";

            //序列化
            using (MemoryStream stream = new MemoryStream())
            {
                json.WriteObject(stream, content);
                szJson = Encoding.UTF8.GetString(stream.ToArray());
            }

            messageDTO.BasicContentDTO.Content = szJson.Replace("\"", "\\\"");
            //messageDTO.Content = szJson.Replace("\"", "\\\""); ;

            if (endTime != null)
            {
                messageDTO.EndTime = (DateTime)endTime;
            }
            //接收人邀请人Id
            messageDTO.UserIds = "[]";


            PublishMobileMessageFacade facade = new PublishMobileMessageFacade();

            try
            {
                facade.AddMessage(messageDTO);
                //LogHelper.Info("众筹状态改变消息内容:" + messageDTO.AppId + ":" + messageDTO.BasicContentDTO.Content);
                LogHelper.Info(string.Format("众筹状态改变消息内容。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)));
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("发送众筹状态改变消息异常。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)), ex);
                // JAP.Common.Loging.LogHelper.Error("发送众筹状态改变消息异常", ex);
            }
        }
Пример #5
0
        public void PublishOrderMessage(string id, string userids, Guid appId, string messages, string contentCode, bool isAfterSales)
        {
            MobileMessageDTO messageDTO = new MobileMessageDTO();

            messageDTO.AppId                   = appId.ToString();
            messageDTO.BasicContentDTO         = new BasicContentDTO();
            messageDTO.BasicContentDTO.Id      = id;
            messageDTO.BasicContentDTO.Code    = contentCode;
            messageDTO.BasicContentDTO.Content = messages;
            messageDTO.ProductType             = JAP.BaseApp.MessageCenter.Deploy.Enum.ProductType.BTP;
            //售后的需要设置成5
            if (isAfterSales)
            {
                messageDTO.ProductSecondType = 5;
            }

            string[] aa = userids.Split(',');
            messageDTO.UserIds = "[";
            foreach (var temp in aa)
            {
                messageDTO.UserIds += "\"" + temp + "\"" + ",";
            }
            messageDTO.UserIds     = messageDTO.UserIds.Substring(0, messageDTO.UserIds.Length - 1);
            messageDTO.UserIds    += "]";
            messageDTO.EndTime     = DateTime.Now.AddDays(13);
            messageDTO.MessageType = JAP.BaseApp.MessageCenter.Deploy.Enum.MessageType.BUSI_MSG;
            try
            {
                Jinher.AMP.BTP.TPS.MessageCenter.Instance.AddMessage(messageDTO);
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("推送消息服务异常。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)), ex);
            }
            //messageDTO.BeginTime = DateTime.Now;
            //messageDTO.EndTime = DateTime.Now;
            LogHelper.Info(string.Format("推送消息服务成功。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)));
        }
Пример #6
0
        private static void PublishOrderMessage(string id, string userids, Guid appId, string messages, string contentCode)
        {
            MobileMessageDTO messageDTO = new MobileMessageDTO();

            messageDTO.AppId                   = appId.ToString();
            messageDTO.BasicContentDTO         = new BasicContentDTO();
            messageDTO.BasicContentDTO.Id      = id;
            messageDTO.BasicContentDTO.Code    = contentCode;
            messageDTO.BasicContentDTO.Content = messages;
            messageDTO.ProductType             = JAP.BaseApp.MessageCenter.Deploy.Enum.ProductType.BTP;

            string[] aa = userids.Split(',');
            messageDTO.UserIds = "[";
            foreach (var temp in aa)
            {
                messageDTO.UserIds += "\"" + temp + "\"" + ",";
            }
            messageDTO.UserIds     = messageDTO.UserIds.Substring(0, messageDTO.UserIds.Length - 1);
            messageDTO.UserIds    += "]";
            messageDTO.EndTime     = DateTime.Now.AddDays(13);
            messageDTO.MessageType = JAP.BaseApp.MessageCenter.Deploy.Enum.MessageType.BUSI_MSG;
            try
            {
                LogHelper.Info(string.Format("推送消息服务参数。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)));
                PublishMobileMessageFacade publishMobileMessageFacade = new PublishMobileMessageFacade();
                publishMobileMessageFacade.AddMessage(messageDTO);
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("推送消息服务异常。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)), ex);
                // LogHelper.Error(string.Format("推送消息服务异常。Message:{0},UserIds:{1},AppId:{2}", messageDTO.BasicContentDTO.Content, userids, appId), ex);
            }

            //LogHelper.Info(string.Format("推送消息服务成功。Message:{0},UserIds:{1},AppId:{2}", messageDTO.BasicContentDTO.Content, userids, appId));
            LogHelper.Info(string.Format("推送消息服务成功。messageDTO:{0}", JsonHelper.JsonSerializer(messageDTO)));
        }