Example #1
0
 public int Editwxbasic(WeiXinBasic basic)
 {
     using (var helper = new SqlHelper())
     {
         var id = new InternalWeiXinBasic(helper).Editwxbasic(basic);
         return(id);
     }
 }
Example #2
0
        internal WeiXinBasic GetWxBasicByComId(int comid)
        {
            string sql = @"SELECT [id]
      ,[comid]
      ,[domain]
      ,[url]
      ,[token]
      ,[AppId]
      ,[AppSecret]
      ,[attentionautoreply]
      ,[leavemsgautoreply]
      ,weixinno
      ,whethervertify
      ,weixintype
  FROM [EtownDB].[dbo].[WeiXinBasic] where comid=@comid";
            var    cmd = sqlHelper.PrepareTextSqlCommand(sql);

            cmd.AddParam("@comid", comid);


            using (var reader = cmd.ExecuteReader())
            {
                if (reader.Read())
                {
                    WeiXinBasic basic = new WeiXinBasic();
                    basic.Id                 = reader.GetValue <int>("id");
                    basic.Comid              = reader.GetValue <int>("comid");
                    basic.Domain             = reader.GetValue <string>("domain");
                    basic.Url                = reader.GetValue <string>("url");
                    basic.Token              = reader.GetValue <string>("token");
                    basic.AppId              = reader.GetValue <string>("AppId");
                    basic.AppSecret          = reader.GetValue <string>("AppSecret");
                    basic.Attentionautoreply = reader.GetValue <string>("attentionautoreply");
                    basic.Leavemsgautoreply  = reader.GetValue <string>("leavemsgautoreply");
                    basic.Weixinno           = reader.GetValue <string>("weixinno");
                    basic.Whethervertify     = reader.GetValue <bool>("whethervertify").ToString().ConvertTo <bool>(false);
                    basic.Weixintype         = reader.GetValue <int>("weixintype");


                    reader.Close();

                    return(basic);
                }
                else
                {
                    return(null);
                }
            }
        }
Example #3
0
        public void Handle(string postStr, WeiXinBasic basic)
        {
            try
            {
                //封装请求类

                XmlDocument doc = new XmlDocument();

                doc.LoadXml(postStr);

                XmlElement rootElement = doc.DocumentElement;



                XmlNode MsgType = rootElement.SelectSingleNode("MsgType");



                RequestXML requestXML = new RequestXML();

                requestXML.PostStr = postStr;

                requestXML.ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText;

                requestXML.FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText;

                requestXML.CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText;

                requestXML.MsgType = MsgType.InnerText;

                if (requestXML.MsgType == "event" || requestXML.MsgType == "text")
                {
                    if (requestXML.MsgType == "event")
                    {
                        requestXML.Eevent   = rootElement.SelectSingleNode("Event").InnerText;
                        requestXML.EventKey = rootElement.SelectSingleNode("EventKey") == null ? "" : rootElement.SelectSingleNode("EventKey").InnerText;
                    }

                    ResponseMsg(requestXML, basic);
                }
            }
            catch (Exception ex)
            {
                string emptystr = "";
                System.Web.HttpContext.Current.Response.Write(emptystr);
                //加txt文档记录
                TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\weixinerrLog.txt", ex.Message);
            }
        }
Example #4
0
        internal WeiXinBasic GetWeiXinBasicByDomain(string RequestDomin)
        {
            string sql = @"SELECT [id]
      ,[comid]
      ,[domain]
      ,[url]
      ,[token]
      ,[AppId]
      ,[AppSecret]
      ,[attentionautoreply]
      ,[leavemsgautoreply]
      ,weixinno 
,Weixintype
  FROM  [WeiXinBasic] where domain=@domain";
            var    cmd = sqlHelper.PrepareTextSqlCommand(sql);

            cmd.AddParam("@domain", RequestDomin);


            using (var reader = cmd.ExecuteReader())
            {
                if (reader.Read())
                {
                    WeiXinBasic basic = new WeiXinBasic();
                    basic.Id                 = reader.GetValue <int>("id");
                    basic.Comid              = reader.GetValue <int>("comid");
                    basic.Domain             = reader.GetValue <string>("domain");
                    basic.Url                = reader.GetValue <string>("url");
                    basic.Token              = reader.GetValue <string>("token");
                    basic.AppId              = reader.GetValue <string>("AppId");
                    basic.AppSecret          = reader.GetValue <string>("AppSecret");
                    basic.Attentionautoreply = reader.GetValue <string>("attentionautoreply");
                    basic.Leavemsgautoreply  = reader.GetValue <string>("leavemsgautoreply");
                    basic.Weixinno           = reader.GetValue <string>("weixinno");
                    basic.Weixintype         = reader.GetValue <int>("Weixintype");
                    reader.Close();

                    return(basic);
                }
                else
                {
                    return(null);
                }
            }
        }
Example #5
0
        internal int Editwxbasic(WeiXinBasic model)
        {
            var cmd = sqlHelper.PrepareStoredSqlCommand(SQLInsertOrUpdate);

            cmd.AddParam("@Id", model.Id);
            cmd.AddParam("@Comid", model.Comid);
            cmd.AddParam("@Domain", model.Domain);
            cmd.AddParam("@Url", model.Url);
            cmd.AddParam("@Token", model.Token);
            cmd.AddParam("@AppId", model.AppId);
            cmd.AddParam("@AppSecret", model.AppSecret);
            cmd.AddParam("@Attentionautoreply", model.Attentionautoreply);
            cmd.AddParam("@Leavemsgautoreply", model.Leavemsgautoreply);
            cmd.AddParam("@whethervertify", model.Whethervertify);


            var parm = cmd.AddReturnValueParameter("ReturnValue");

            cmd.ExecuteNonQuery();
            return((int)parm.Value);
        }
Example #6
0
        private void ResponseMsg(RequestXML requestXML, WeiXinBasic basic)
        {
            try
            {
                string resxml = "";

                #region 接收事件推送
                if (requestXML.MsgType == "event")
                {
                    #region 关注事件 或者  已关注微信用户 扫描带参数二维码事件
                    if (requestXML.Eevent == "SCAN" || requestXML.Eevent == "subscribe")
                    {
                        lock (lockobj)
                        {
                            //判断是否是并发请求
                            string cretime = requestXML.CreateTime;
                            //获得请求发送的次数
                            int reqnum = new WxSubscribeDetailData().GetReqnum(requestXML.FromUserName, cretime, requestXML.Eevent);
                            if (reqnum == 1)
                            {
                                //如果用户二次扫描的合作单位信息,则显示 当前扫描的合作单位信息
                                int wxsourceid = requestXML.EventKey.Substring(requestXML.EventKey.IndexOf("_") + 1).ConvertTo <int>(0);
                                if (wxsourceid > 0)
                                {
                                    WxSubscribeSource sourcer = new WxSubscribeSourceData().GetWXSourceById(wxsourceid);
                                    if (sourcer != null)
                                    {
                                        if (sourcer.Productid > 0)//扫描产品二维码
                                        {
                                            //根据产品id得到产品信息
                                            B2b_com_pro pro = new B2bComProData().GetProById(sourcer.Productid.ToString());
                                            if (pro != null)
                                            {
                                                //如果是优惠劵产品,生成优惠劵订单
                                                if (pro.Server_type == 3)
                                                {
                                                    var orderdata = OrderJsonData.insertyuohuiquan(sourcer.Productid, requestXML.FromUserName);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region 接收事件推送
                    if (requestXML.MsgType == "text")
                    {
                        //判断是否是顾问,1是;0不是
                        int isguwen = new MemberChannelData().IsGuwen(requestXML.FromUserName, basic.Comid);
                        if (isguwen == 1)
                        {
                            if (requestXML.Content != "")
                            {
                                if (requestXML.Content.ToLower().Substring(0, 2) == "qx" || requestXML.Content.ToLower().Substring(0, 2) == "qr")
                                {
                                    string str = "";
                                    //截取前两个字qx,进入确认流程
                                    if (requestXML.Content.ToLower().Substring(2, requestXML.Content.Length - 2) != "")
                                    {
                                        try
                                        {
                                            int orderid = int.Parse(requestXML.Content.ToLower().Substring(2, requestXML.Content.Length - 2));
                                            var snsback = OrderJsonData.UporderPaystate(orderid, requestXML.Content.ToLower().Substring(0, 2), requestXML.Content);//处理订单
                                        }
                                        catch { }

                                        if (requestXML.Content.ToLower().Substring(0, 2) == "qr")
                                        {
                                            str = "订单已确认";
                                        }
                                        if (requestXML.Content.ToLower().Substring(0, 2) == "qx")
                                        {
                                            str = "订单已取消";
                                        }
                                    }

                                    resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + CommonFunc.ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[" + str + "]]></Content><FuncFlag>1</FuncFlag></xml>";
                                    System.Web.HttpContext.Current.Response.Write(resxml);
                                }
                            }
                        }
                    }
                    #endregion
                }
                #endregion
            }
            catch (Exception ex)
            {
                ////WriteTxt("异常" + ex.Message + "Struck:" + ex.StackTrace.ToString());
                //wx_logs.MyInsert("异常" + ex.Message + "Struck:" + ex.StackTrace.ToString());
                //string emptystr = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[]]></Content></xml>";
                string emptystr = "";
                System.Web.HttpContext.Current.Response.Write(emptystr);
            }
        }