예제 #1
0
        /// <summary>
        /// 测试用群发消息
        /// </summary>
        /// <param name="text"></param>
        public void Send()
        {
            var                 news       = new WX_MediaManager().Where(m => m.MediaType.Equals("news"))[0];
            List <string>       openIdList = WXAPP.WX_User.ToList().GetOpenIdList();
            string              result     = new MessageService(WXAPP.AppId, WXAPP.AppSecret).Send(news);
            WX_CustomMsgManager manager    = new WX_CustomMsgManager();
            JObject             json       = JObject.Parse(result);

            if (json["errcode"].ToString().Equals("0"))
            {
                foreach (var i in openIdList)
                {
                    WX_CustomMsg msg = new WX_CustomMsg()
                    {
                        MsgId      = json["msg_id"].ToString(),
                        OpenID     = i,
                        AppId      = WXAPP.AppId,
                        CreateTime = DateTime.Now,
                        Content    = news.MediaContent,
                        MsgSource  = "客服",
                        MsgType    = "text",
                    };
                    manager.Add(msg);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 聊天内容输出到网页
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        private List <WX_CustomMsg> FansMsg(string id)
        {
            SYS_User            SYSUSER = Session["SYSUSER"] as SYS_User;
            List <WX_Queue>     list    = new WXDataBLL.WXCustom.WX_QueueManager().Where(s => s.MsgState == 1 && s.OpenID.Equals(id));
            List <WX_CustomMsg> msg     = new List <WX_CustomMsg>();

            foreach (WX_Queue item in list)
            {
                WX_CustomMsg CM = new WX_CustomMsg();
                CM.MsgId      = item.MsgId;
                CM.OpenID     = item.OpenID;
                CM.UserId     = SYSUSER.UserId;
                CM.AppId      = SYSUSER.AppId;
                CM.CreateTime = item.CreateTime;
                CM.Content    = XmlUtility.GetSingleNodeInnerText(item.XmlContent, "/xml/Content");
                CM.MsgSource  = "粉丝";
                CM.MsgType    = item.MsgType;
                CM.XmlContent = item.XmlContent;
                new WXDataBLL.WXCustom.WX_QueueManager().Delete(item.MsgId); //删除
                new WXDataBLL.WXCustom.WX_CustomMsgManager().Add(CM);        //添加到数据库
                var info = new WXDataBLL.WXCustom.WX_CustomMsgManager().GetByPK(CM.MsgId);
                msg.Add(info);                                               //添加到集合
            }
            return(msg);
        }
예제 #3
0
        /// <summary>
        /// 发送消息给用户
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public ActionResult TaleToUser(WX_CustomMsg msg)
        {
            msg.MsgId      = Guid.NewGuid().ToString();
            msg.CreateTime = DateTime.Now;
            msg.MsgSource  = "客服";
            var Ap = new WX_AppManager().GetByPK(msg.AppId);

            //发送到微信
            CustomService customSvr = new CustomService(Ap.AppId, Ap.AppSecret);

            customSvr.SendText(msg.OpenID, msg.Content);
            bool IsTrue = new WX_CustomMsgManager().Add(msg);

            return(Json(IsTrue, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="UserId"></param>
        /// <param name="AppId"></param>
        /// <param name="OpenID"></param>
        /// <returns></returns>
        public ActionResult FansMsg(int UserId, string AppId, string OpenID)
        {
            List <WX_Queue> list = new WX_QueueManager().Where(s => s.MsgState == 1 && s.OpenID.Equals(OpenID));
            var             msg  = new List <object>();

            foreach (WX_Queue item in list)
            {
                WX_CustomMsg CM = new WX_CustomMsg();
                CM.MsgId      = item.MsgId;
                CM.OpenID     = item.OpenID;
                CM.UserId     = UserId;
                CM.AppId      = AppId;
                CM.CreateTime = item.CreateTime;
                switch (item.MsgType)
                {
                case "text":
                    CM.Content = XmlUtility.GetSingleNodeInnerText(item.XmlContent, "/xml/Content");
                    break;

                case "image":
                    CM.Content = XmlUtility.GetSingleNodeInnerText(item.XmlContent, "/xml/PicUrl");
                    break;

                case "voice":
                    CM.Content = XmlUtility.GetSingleNodeInnerText(item.XmlContent, "/xml/MediaId");
                    break;

                default:
                    break;
                }
                CM.MsgSource  = "粉丝";
                CM.MsgType    = item.MsgType;
                CM.XmlContent = item.XmlContent;
                new WX_QueueManager().Delete(item.MsgId); //删除
                new WX_CustomMsgManager().Add(CM);        //添加到数据库
                var info = new WX_CustomMsgManager().Where(s => s.MsgId == CM.MsgId).Select(s => new {
                    content = s.Content,
                    s.WX_User.HeadImageUrl,
                    s.MsgType
                });
                msg.Add(info);//添加到集合
            }
            return(Json(msg, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public ActionResult TaleToUser(WX_CustomMsg msg)
        {
            SYS_User SYSUSER = Session["SYSUSER"] as SYS_User;

            msg.UserId     = SYSUSER.UserId;
            msg.MsgId      = Guid.NewGuid().ToString();
            msg.CreateTime = DateTime.Now;
            msg.MsgSource  = "客服";
            msg.AppId      = SYSUSER.AppId;

            //发送到微信
            CustomService customSvr = new CustomService(SYSUSER.AppId, SYSUSER.WX_App.AppSecret);

            customSvr.SendText(msg.OpenID, msg.Content);

            bool IsTrue = new WXDataBLL.WXCustom.WX_CustomMsgManager().Add(msg);

            return(Json(IsTrue, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public void Send(string OpenId, int UserId, string AppId)
        {
            List <WX_Queue>     list = new WXDataBLL.WXCustom.WX_QueueManager().Where(s => s.MsgState == 1 && s.OpenID.Equals(OpenId));
            List <WX_CustomMsg> msg  = new List <WX_CustomMsg>();

            foreach (WX_Queue item in list)
            {
                WX_CustomMsg CM = new WX_CustomMsg();
                CM.MsgId      = item.MsgId;
                CM.OpenID     = item.OpenID;
                CM.UserId     = UserId;
                CM.AppId      = AppId;
                CM.CreateTime = item.CreateTime;
                CM.Content    = XmlUtility.GetSingleNodeInnerText(item.XmlContent, "/xml/Content");
                CM.MsgSource  = "粉丝";
                CM.MsgType    = item.MsgType;
                CM.XmlContent = item.XmlContent;
                new WXDataBLL.WXCustom.WX_QueueManager().Delete(item.MsgId); //删除
                new WXDataBLL.WXCustom.WX_CustomMsgManager().Add(CM);        //添加到数据库
                var info = new WXDataBLL.WXCustom.WX_CustomMsgManager().GetByPK(CM.MsgId);
                msg.Add(info);                                               //添加到集合
            }
            Clients.User(UserId.ToString()).Send(msg);
        }