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