Example #1
0
        /// <summary>
        /// 生成各消息类型XML
        /// </summary>
        /// <param name="rule"></param>
        /// <param name="requestXml"></param>
        /// <returns></returns>
        public static string MakeResponseXML(wx_requestRule rule, string requestXml)
        {

            var listContext = wx_requestRuleContentService.instance().GetByRuleID(rule.ID);
            switch (rule.responseType)//文本1,图文2,语音3,视频4,第三方接口5
            {
                case 1:
                    TextMessage tm = TextMessage.LoadFromXml(requestXml);
                    tm.Content = listContext.First().rContent;
                    return tm.GenerateContent();
                case 2:
                    NewsMessage nm = NewsMessage.LoadFromXml(requestXml);
                    nm.Group = listContext;
                    return nm.GenerateContent();
                case 3:
                    VoiceMessage vm = VoiceMessage.LoadFromXml(requestXml);
                    vm.access_token = access_token;
                    vm.filePath = listContext.First().mediaUrl;
                    return vm.GenerateContent();
                case 4:
                    VideoMessage vim = VideoMessage.LoadFromXml(requestXml);
                    vim.access_token = access_token;
                    vim.filePath = listContext.First().meidaHDUrl;
                    vim.Title = listContext.First().rContent;
                    vim.Description = listContext.First().rContent2;
                    return vim.GenerateContent();
                case 5:
                    break;
                default:
                    break;
            }
            return "";
        }
 public JsonResult wenBenEdit(FormCollection form)
 {
     ResultBase_form result = new ResultBase_form();
     wx_requestRule m = new wx_requestRule();
     TryUpdateModel<wx_requestRule>(m, form);
     m.wID = UserDateTicket.wx_user.ID;
     m.cID = UserDateTicket.Company.ID;
     m.wxId = UserDateTicket.wx_user.wxId;
     m.reqestType = 0;
     m.responseType = 1;
     m.isLikeSearch = form["isLikeSearch"] == "1";
     if (m.ID == Guid.Empty)
     {
         m.ID = Guid.NewGuid();
         result.status = wx_requestRuleService.instance().Insert(m);
         wx_requestRuleContent rc = new wx_requestRuleContent();
         rc.rContent = Server.UrlDecode(form["rContent"]);
         rc.RuleID = m.ID;
         wx_requestRuleContentService.instance().Insert(rc);
     }
     else
     {
         wx_requestRuleContent rc = wx_requestRuleContentService.instance().SingleByRuleID(m.ID);
         rc.rContent = Server.UrlDecode(form["rContent"]);
         rc.RuleID = m.ID;
         wx_requestRuleContentService.instance().Update(rc);
         result.status = wx_requestRuleService.instance().Update(m);
     }
     result.msg = result.status == 0 ? "操作失败" : "操作成功";
     return Json(result, JsonRequestBehavior.AllowGet);
 }
 public string HandleRequest()
 {
     EventMessage em = EventMessage.LoadFromXml(RequestXml);
     if (em != null)
     {
         var eventtype = (Event)Enum.Parse(typeof(Event), em.Event.ToUpper());
         wx_requestRule entity = new wx_requestRule();
         switch (eventtype)
         {
             case Event.CLICK:
                 entity = wx_requestRuleService.instance().GetByreqestType_Key(0, CommFun.companyid, em.EventKey);
                 break;
             case Event.SUBSCRIBE://首次关注推送
                 entity = wx_requestRuleService.instance().GetByRequestType(6, CommFun.companyid);
                 subscribeMessage sub = subscribeMessage.LoadFromXml(RequestXml);
                 sub.GenerateContent();
                 break;
             case Event.UNSUBSCRIBE://取消关注
                 unsubscribeMessage unsub = unsubscribeMessage.LoadFromXml(RequestXml);
                 return unsub.GenerateContent();
             case Event.LOCATION://位置
                 LocationMessage location = LocationMessage.LoadFromXml(RequestXml);
                 location.GenerateContent();
                 break;
             default:
                 break;
         }
         return CommFun.MakeResponseXML(entity, this.RequestXml);
     }
     return "";
 }
 public ActionResult wenBenEdit(string id)
 {
     Guid ID;
     wx_requestRule m = new wx_requestRule();
     if (Guid.TryParse(id, out ID))
     {
         m = wx_requestRuleService.instance().Single(ID);
         ViewBag.rContent = wx_requestRuleContentService.instance().SingleByRuleID(m.ID).rContent;
     }
     return View(m);
 }
 public ActionResult yuYinEdit(string id)
 {
     Guid ID;
     wx_requestRule m = new wx_requestRule();
     if (Guid.TryParse(id, out ID))
     {
         m = wx_requestRuleService.instance().Single(ID);
         wx_requestRuleContent rc = wx_requestRuleContentService.instance().SingleByRuleID(m.ID);
         ViewBag.rContent = rc.rContent;
         ViewBag.rContent2 = rc.rContent2;
         ViewBag.mediaUrl = rc.mediaUrl;
     }
     return View(m);
 }
 public ActionResult Push(string id)
 {
     Guid ID = IsGID(id);
     wx_requestRule m = new wx_requestRule();
     m = wx_requestRuleService.instance().Single(ID);
     return View(m);
 }
 public ActionResult tuWenEdit(FormCollection form)
 {
     ResultBase_form result = new ResultBase_form();
     wx_requestRule m = new wx_requestRule();
     TryUpdateModel<wx_requestRule>(m, form);
     m.wID = UserDateTicket.wx_user.ID;
     m.cID = UserDateTicket.Company.ID;
     m.wxId = UserDateTicket.wx_user.wxId;
     //m.ruleName = "图文回复";
     m.responseType = 2;
     m.reqestType = 0;
     m.isLikeSearch = form["isLikeSearch"] == "1";
     if (m.ID == Guid.Empty)
     {
         m.ID = Guid.NewGuid();
         result.status = wx_requestRuleService.instance().Insert(m);
     }
     else
     {
         result.status = wx_requestRuleService.instance().Update(m);
     }
     result.msg = result.status == 0 ? "操作失败" : "操作成功";
     return Json(result, JsonRequestBehavior.AllowGet);
 }
 public ActionResult tuWenEdit(string id)
 {
     Guid ID;
     wx_requestRule m = new wx_requestRule();
     if (Guid.TryParse(id, out ID))
         m = wx_requestRuleService.instance().Single(ID);
     return View(m);
 }
        private SendResult push(wx_requestRule rule, string[] openIds)
        {
            SendResult result = new SendResult();
            var contentlist = wx_requestRuleContentService.instance().GetByRuleID(rule.ID);
            switch (rule.responseType)
            {

                //文本1,图文2,语音3,视频4
                case 1:
                    result = Services.Weixin.CommonApi.SendTextGroupMessageByOpenId(GetToken(),
                       contentlist.First().rContent, openIds);
                    break;
                case 2:

                    //var newtemp = Services.Weixin.CommonApi.Upload(GetToken(), Entity.Weixin.UploadMediaFileType.news, contentlist.First().picUrl);
                    var file = @"D:\1.jpg";
                    var fileresult = Services.Weixin.CommonApi.UploadForeverMedia(GetToken(), file);
                    var new1 = new NewsModel()
                    {
                        author = "test",
                        content = "test",
                        content_source_url = "http://qy.weiweihi.com/Content/Images/app/qyhelper.png",
                        digest = "test",
                        show_cover_pic = "1",
                        thumb_media_id = fileresult.media_id,
                        title = "test"
                    };

                    var new2 = new NewsModel()
                    {
                        author = "test",
                        content = "test111",
                        content_source_url = "http://qy.weiweihi.com/Content/Images/app/qyhelper.png",
                        digest = "test",
                        show_cover_pic = "1",
                        thumb_media_id = fileresult.media_id,
                        title = "test"
                    };

                    var newtemp = Services.Weixin.CommonApi.UploadNews(GetToken(), 10000, new1, new2);

                    result = Services.Weixin.CommonApi.SendGroupMessageByOpenId(GetToken(), GroupMessageType.mpnews, newtemp.media_id, openIds);



                    break;
                case 3:
                    var voicetempre = Services.Weixin.CommonApi.Upload(GetToken(), Entity.Weixin.UploadMediaFileType.voice, contentlist.First().mediaUrl);
                    if (voicetempre.errcode == Entity.Weixin.ReturnCode.请求成功)
                    {
                        result = Services.Weixin.CommonApi.SendGroupMessageByOpenId(GetToken(),
                                                                               GroupMessageType.voice,
                                                                               voicetempre.media_id,
                                                                               openIds);
                    }
                    break;
                case 4:
                    var videotempre = Services.Weixin.CommonApi.Upload(GetToken(), Entity.Weixin.UploadMediaFileType.video, contentlist.First().meidaHDUrl);
                    if (videotempre.errcode == Entity.Weixin.ReturnCode.请求成功)
                    {
                        result = Services.Weixin.CommonApi.SendVideoGroupMessageByOpenId(GetToken(),
                                                                                contentlist.First().rContent,
                                                                                contentlist.First().rContent2,
                                                                                videotempre.media_id,
                                                                                openIds);
                    }
                    break;

            }
            return result;
        }