Esempio n. 1
0
        /// <summary>
        /// 删除规则
        /// </summary>
        protected void DeleteMsgRule()
        {
            int  msgId  = EConvert.ConvertTo <int>(Request["msgId"]);
            bool result = MsgReplyBll.DeleteMsgRule(msgId);

            Json(new { state = result });
        }
Esempio n. 2
0
        /// <summary>
        /// 保存规则
        /// </summary>
        protected void SaveRule()
        {
            string json   = Request["ruleInfo"];
            var    dto    = JsonConvert.DeserializeObject <MsgReplyResult>(json);
            bool   result = MsgReplyBll.SaveMsgRule(dto);

            Json(new { state = result });
        }
Esempio n. 3
0
        /// <summary>
        /// 获取关键字回复规则
        /// </summary>
        protected void GetAllRule()
        {
            var result = MsgReplyBll.GetAllMsgRule();

            if (result != null && result.Count > 0)
            {
                Json(new { state = true, data = result });
                return;
            }
            Json(new { state = false });
        }
Esempio n. 4
0
        /// <summary>
        /// 处理文字请求
        /// </summary>
        /// <returns></returns>
        public override Senparc.Weixin.MP.Entities.IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
        {
            Task.Run(() =>
            {
                try
                {
                    string openId = requestMessage.FromUserName;
                    string replyMode;
                    LogHandler.Info(JsonConvert.SerializeObject(requestMessage));
                    var contentList = MsgReplyBll.GetReplyInfo(requestMessage.Content, out replyMode);
                    LogHandler.Info(JsonConvert.SerializeObject(contentList));
                    LogHandler.Info("replyMode" + replyMode);
                    if (contentList != null && contentList.Count > 0)
                    {
                        if (replyMode == AutoReplyMode.random_one.ToString())
                        {
                            contentList = new List <mpmsgreplycontent>()
                            {
                                contentList[0]
                            };
                        }
                        foreach (var replyContent in contentList)
                        {
                            switch (replyContent.ReplyType)
                            {
                            //类型枚举参照 Senparc.Weixin.MP.AutoReplyType 枚举
                            case "text":
                                CustomApi.SendText(BaseClass.AppId, openId, EConvert.ConvertEmojiHtml(Senparc.Weixin.HttpUtility.RequestUtility.UrlDecode(replyContent.ReplyContent)));
                                break;

                            case "img":
                                CustomApi.SendImage(BaseClass.AppId, openId, replyContent.ReplyContent);
                                break;

                            case "news":
                                CustomApi.SendMpNews(BaseClass.AppId, openId, replyContent.ReplyContent);
                                break;
                            }
                        }
                    }
                    else
                    {
                        var replyItem = MpEventBll.GetByKey("ych_automsg");
                        if (replyItem != null)
                        {
                            switch (replyItem.ReplyType)
                            {
                            case "text":
                                CustomApi.SendText(BaseClass.AppId, openId, EConvert.ConvertEmojiHtml(Senparc.Weixin.HttpUtility.RequestUtility.UrlDecode(replyItem.ReplyContent)));
                                break;

                            case "img":
                                CustomApi.SendImage(BaseClass.AppId, openId, replyItem.ReplyContent);
                                break;
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    LogHandler.Error($"错误位置:微信文字请求回复\n请求数据:{JsonConvert.SerializeObject(requestMessage)}\n错误信息:{e.StackTrace}");
                }
            });
            //将消息转发到客服
            var responseMessage = CreateResponseMessage <ResponseMessageTransfer_Customer_Service>();

            return(responseMessage);
        }