예제 #1
0
        //public virtual void UserSubscribe()
        //{
        //    //设置关注信息
        //    var modelDAO = new WModelDAO(requestParams.LoggingSessionInfo);
        //    var ds = modelDAO.GetMaterialByWeixinIdJermyn(requestParams.WeixinId, 2);

        //    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
        //    {
        //        string typeId = ds.Tables[0].Rows[0]["ReplyType"].ToString();  //素材类型 1=文字2=图片3=图文4=语音5=视频6=其他
        //        string ReplyId = ds.Tables[0].Rows[0]["ReplyId"].ToString();  //素材ID
        //        string Text = ds.Tables[0].Rows[0]["text"].ToString();  //素材ID

        //        BaseService.WriteLogWeixin("typeId:" + typeId);
        //        BaseService.WriteLogWeixin("ReplyId:" + ReplyId);

        //        switch (typeId)
        //        {
        //            case MaterialType.TEXT:         //回复文字消息
        //                //ReplyText(materialId);
        //                ReplyTextJermyn(Text);
        //                break;
        //            case MaterialType.IMAGE_TEXT:   //回复图文消息
        //                //ReplyNews(materialId);
        //                ReplyNewsJermyn(ReplyId, 2, 1);
        //                break;
        //            case MaterialType.OTHER:    //后台处理
        //                break;
        //            default:
        //                break;
        //        }
        //    }

        //}

        //用户关注微信号
        public virtual void UserSubscribe()
        {
            //设置关注信息
            var modelDAO = new WModelDAO(requestParams.LoggingSessionInfo);
            var ds       = modelDAO.GetMaterialByWeixinId(requestParams.WeixinId);

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                string typeId     = ds.Tables[0].Rows[0]["MaterialTypeId"].ToString(); //素材类型
                string materialId = ds.Tables[0].Rows[0]["MaterialId"].ToString();     //素材ID

                BaseService.WriteLogWeixin("typeId:" + typeId);
                BaseService.WriteLogWeixin("materialId:" + materialId);

                switch (typeId)
                {
                case MaterialType.TEXT:             //回复文字消息
                    ReplyText(materialId);
                    break;

                case MaterialType.IMAGE_TEXT:       //回复图文消息
                    ReplyNews(materialId);
                    break;

                case MaterialType.OTHER:        //后台处理
                    break;

                default:
                    break;
                }
            }
        }
예제 #2
0
        //用户关注微信号
        public override void UserSubscribe()
        {
            var application = new WApplicationInterfaceDAO(requestParams.LoggingSessionInfo);
            var appEntitys  = application.QueryByEntity(new WApplicationInterfaceEntity()
            {
                WeiXinID = requestParams.WeixinId
            }, null);

            if (appEntitys != null && appEntitys.Length > 0)
            {
                var entity = appEntitys.FirstOrDefault();

                BaseService.WriteLogWeixin("AppID:  " + entity.AppID);
                BaseService.WriteLogWeixin("AppSecret:  " + entity.AppSecret);

                //扫描带参数二维码事件
                var eventKey = requestParams.XmlNode.SelectSingleNode("//EventKey");
                BaseService.WriteLogWeixin("eventKey:  " + eventKey.InnerText);

                var qrcodeId = string.Empty;
                if (!string.IsNullOrEmpty(eventKey.InnerText))
                {
                    qrcodeId = eventKey.InnerText.Substring(8);
                }

                BaseService.WriteLogWeixin("qrcodeId:  " + qrcodeId);

                //保存用户信息
                commonService.SaveUserInfo(requestParams.OpenId, requestParams.WeixinId, "1", entity.AppID, entity.AppSecret, qrcodeId, requestParams.LoggingSessionInfo);
            }

            //设置关注信息
            var modelDAO = new WModelDAO(requestParams.LoggingSessionInfo);
            var ds       = modelDAO.GetMaterialByWeixinId(requestParams.WeixinId);

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                string typeId     = ds.Tables[0].Rows[0]["MaterialTypeId"].ToString(); //素材类型
                string materialId = ds.Tables[0].Rows[0]["MaterialId"].ToString();     //素材ID

                BaseService.WriteLogWeixin("typeId:" + typeId);
                BaseService.WriteLogWeixin("materialId:" + materialId);

                switch (typeId)
                {
                case MaterialType.TEXT:             //回复文字消息
                    ReplyText(materialId);
                    break;

                case MaterialType.IMAGE_TEXT:       //回复图文消息
                    ReplyNews(materialId);
                    break;

                case MaterialType.OTHER:            //后台处理
                    break;

                default:
                    break;
                }
            }
        }
예제 #3
0
        //用户关注微信号
        public override void UserSubscribe()
        {
            var eventsBll = new LEventsBLL(requestParams.LoggingSessionInfo);
            //设置关注信息
            var modelDAO = new WModelDAO(requestParams.LoggingSessionInfo);
            var ds       = new DataSet();// /// <param name="KeyworkType">1=关键字回复 2=关注回复 3=自动回复</param>

            //优先处理二维码
            var qrcodeId = string.Empty;
            var eventKey = requestParams.XmlNode.SelectSingleNode("//EventKey");

            var application = new WApplicationInterfaceDAO(requestParams.LoggingSessionInfo);
            var appEntitys  = application.QueryByEntity(new WApplicationInterfaceEntity()
            {
                WeiXinID = requestParams.WeixinId
            }, null);

            if (eventKey != null && eventKey.InnerText.Contains("qrscene_"))//如果是二维码的就之返回二维码的
            {
                qrcodeId = eventKey.InnerText.Substring(8);
            }
            if (appEntitys != null && appEntitys.Length > 0)
            {
                var entity = appEntitys.FirstOrDefault();
                BaseService.WriteLogWeixin("AppID:  " + entity.AppID);
                BaseService.WriteLogWeixin("AppSecret:  " + entity.AppSecret);
                //扫描带参数二维码事件

                /**
                 * BaseService.WriteLogWeixin("二维码 eventKey:  " + eventKey.InnerText);
                 * if (!string.IsNullOrEmpty(eventKey.InnerText))//这里如果是二维码扫锚,就找出了二维码的code,可以在这里推送该二维码对应的图文素材******
                 * {
                 *  qrcodeId = eventKey.InnerText.Substring(8);
                 *  //这个地方传得是eventKey.ToString(),,而不是上面做的qrcodeId = eventKey.InnerText.Substring(8),所以不会找到对应的二维码的真正的key,也就不会推送二维码的key对应的图文素材信息
                 *  eventsBll.SendQrCodeWxMessage(requestParams.LoggingSessionInfo, requestParams.LoggingSessionInfo.CurrentLoggingManager.Customer_Id, requestParams.WeixinId, eventKey.ToString(),
                 *  requestParams.OpenId, this.httpContext, requestParams);
                 * }
                 **/
                //BaseService.WriteLogWeixin("二维码 qrcodeId:  " + qrcodeId);
                ////保存用户信息///// <param name="isShow">1: 关注  0: 取消关注</param>
                //这个里面处理临时二维码的信息的代码(建立员工与会员的上下级关系)**
                commonService.SaveUserInfo(requestParams.OpenId, requestParams.WeixinId, "1", entity.AppID, entity.AppSecret, qrcodeId, requestParams.LoggingSessionInfo);
            }

            int sendMessageCount = 0;

            if (eventKey != null && eventKey.InnerText.Contains("qrscene_"))//如果是二维码的就之返回二维码的
            {
                qrcodeId = eventKey.InnerText.Substring(8);
                //处理扫描静态二维码的事件(包含处理上下级关系和推送图文信息)
                eventsBll.SendQrCodeWxMessage(requestParams.LoggingSessionInfo, requestParams.LoggingSessionInfo.CurrentLoggingManager.Customer_Id, requestParams.WeixinId, qrcodeId,
                                              requestParams.OpenId, this.httpContext, requestParams, out sendMessageCount); //保存用户信息时,有推送消息
                //eventsBll.QrCodeHandlerText(qrcodeId, requestParams.LoggingSessionInfo,
                // requestParams.WeixinId, 4, requestParams.OpenId, httpContext, requestParams);
                //ds = modelDAO.GetMaterialByWeixinIdJermyn(requestParams.WeixinId, 4);
            }

            if (sendMessageCount == 0) //这种情况,就是没有eventKey,或者这个eventkey没有设置对应的关键字回复
            {
                #region  处理关注事件的图文信息
                ds = modelDAO.GetMaterialByWeixinIdJermyn(requestParams.WeixinId, 2);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    string typeId  = ds.Tables[0].Rows[0]["ReplyType"].ToString(); //素材类型 1=文字2=图片3=图文4=语音5=视频6=其他
                    string ReplyId = ds.Tables[0].Rows[0]["ReplyId"].ToString();   //素材ID
                    string Text    = ds.Tables[0].Rows[0]["text"].ToString();      //内容

                    BaseService.WriteLogWeixin("自动回复: typeId:" + typeId);
                    BaseService.WriteLogWeixin("自动回复:ReplyId:" + ReplyId);
                    switch (typeId)
                    {
                    case MaterialType.TEXT:             //回复文字消息
                        //ReplyText(materialId);
                        ReplyTextJermyn(Text);
                        break;

                    case MaterialType.IMAGE_TEXT:       //回复图文消息
                        //ReplyNews(materialId);
                        ReplyNewsJermyn(ReplyId, 2, 1);
                        break;

                    case MaterialType.OTHER:        //后台处理
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    UserSubscribeOld();//老版本的微信关注自动回复 Jermyn20140512
                }
                #endregion
            }


            /**
             * var application = new WApplicationInterfaceDAO(requestParams.LoggingSessionInfo);
             * var appEntitys = application.QueryByEntity(new WApplicationInterfaceEntity() { WeiXinID = requestParams.WeixinId }, null);
             * if (appEntitys != null && appEntitys.Length > 0)
             * {
             *  var entity = appEntitys.FirstOrDefault();
             *
             *  BaseService.WriteLogWeixin("AppID:  " + entity.AppID);
             *  BaseService.WriteLogWeixin("AppSecret:  " + entity.AppSecret);
             *
             *  //扫描带参数二维码事件
             *
             *  BaseService.WriteLogWeixin("二维码 eventKey:  " + eventKey.InnerText);
             *
             *
             *  if (!string.IsNullOrEmpty(eventKey.InnerText))//这里如果是二维码扫锚,就找出了二维码的code,可以在这里推送该二维码对应的图文素材******
             *  {
             *      qrcodeId = eventKey.InnerText.Substring(8);
             *      //这个地方传得是eventKey.ToString(),,而不是上面做的qrcodeId = eventKey.InnerText.Substring(8),所以不会找到对应的二维码的真正的key,也就不会推送二维码的key对应的图文素材信息
             *      eventsBll.SendQrCodeWxMessage(requestParams.LoggingSessionInfo, requestParams.LoggingSessionInfo.CurrentLoggingManager.Customer_Id, requestParams.WeixinId, eventKey.ToString(),
             *      requestParams.OpenId, this.httpContext, requestParams);
             *  }
             *
             *
             *  //BaseService.WriteLogWeixin("二维码 qrcodeId:  " + qrcodeId);
             *
             *  ////保存用户信息///// <param name="isShow">1: 关注  0: 取消关注</param>
             *   commonService.SaveUserInfo(requestParams.OpenId, requestParams.WeixinId, "1", entity.AppID, entity.AppSecret, qrcodeId, requestParams.LoggingSessionInfo);
             * }
             **/
        }
예제 #4
0
 /// <summary>
 /// 构造函数 
 /// </summary>
 public WModelBLL(LoggingSessionInfo pUserInfo)
 {
     this.CurrentUserInfo = pUserInfo;
     this._currentDAO = new WModelDAO(pUserInfo);
 }
예제 #5
0
        public override void UserSubscribe()
        {
            BaseService.WriteLogWeixin("贱人贱人");
            //设置关注信息
            var modelDAO = new WModelDAO(requestParams.LoggingSessionInfo);
            var ds       = modelDAO.GetMaterialByWeixinIdJermyn(requestParams.WeixinId, 2);

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                string typeId  = ds.Tables[0].Rows[0]["ReplyType"].ToString(); //素材类型 1=文字2=图片3=图文4=语音5=视频6=其他
                string ReplyId = ds.Tables[0].Rows[0]["ReplyId"].ToString();   //素材ID
                string Text    = ds.Tables[0].Rows[0]["text"].ToString();      //素材ID

                BaseService.WriteLogWeixin("typeId:" + typeId);
                BaseService.WriteLogWeixin("ReplyId:" + ReplyId);

                switch (typeId)
                {
                case MaterialType.TEXT:             //回复文字消息
                    //ReplyText(materialId);
                    ReplyTextJermyn(Text);
                    break;

                case MaterialType.IMAGE_TEXT:       //回复图文消息
                    //ReplyNews(materialId);
                    ReplyNewsJermyn(ReplyId, 2, 1);
                    break;

                case MaterialType.OTHER:        //后台处理
                    break;

                default:
                    break;
                }
            }

            #region Jermyn20140728 订阅号添加获取用户信息
            var application = new WApplicationInterfaceDAO(requestParams.LoggingSessionInfo);
            var appEntitys  = application.QueryByEntity(new WApplicationInterfaceEntity()
            {
                WeiXinID = requestParams.WeixinId
            }, null);

            if (appEntitys != null && appEntitys.Length > 0)
            {
                var entity = appEntitys.FirstOrDefault();

                BaseService.WriteLogWeixin("AppID:  " + entity.AppID);
                BaseService.WriteLogWeixin("AppSecret:  " + entity.AppSecret);

                //扫描带参数二维码事件
                //var eventKey = requestParams.XmlNode.SelectSingleNode("//EventKey");
                //BaseService.WriteLogWeixin("eventKey:  " + eventKey.InnerText);

                var qrcodeId = string.Empty;
                //if (!string.IsNullOrEmpty(eventKey.InnerText))
                //{
                //    qrcodeId = eventKey.InnerText.Substring(8);
                //}

                //BaseService.WriteLogWeixin("qrcodeId:  " + qrcodeId);

                //保存用户信息
                commonService.SaveUserInfo(requestParams.OpenId, requestParams.WeixinId, "1", entity.AppID, entity.AppSecret, qrcodeId, requestParams.LoggingSessionInfo);
                BaseService.WriteLogWeixin("推送用户信息到业务系统成功.  ");
            }
            #endregion
        }