예제 #1
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);
            }
        }
예제 #2
0
        public static string EditUserAndMasterGroup(B2b_company_manageuser manageuser, string masterid, string mastername, string grouparr, int createmasterid, string createmastername, DateTime createdate)
        {
            try
            {
                //员工渠道管理,关联说明。
                //以员工位主表,渠道为从表,添加,修改时都先判断员工表,是否有此账户或手机,有则错误返回。
                //当添加或修改员工时,再判断渠道表,如果渠道没有则添加,如果有,在添加操作时,不操作,在修改的时候同时修改。


                if (manageuser.Id == 0)//添加操作
                {
                    //判断添加员工时 员工表中账户是否存在,避免账户重复问题
                    bool ishasaccount = new B2bCompanyManagerUserData().Ishasaccount(manageuser.Accounts);
                    if (ishasaccount)
                    {
                        return(JsonConvert.SerializeObject(new { type = 1, msg = "账户已存在,请更换登录账户名" }));
                    }
                    //判断添加员工时 员工表中手机是否存在,避免手机重复
                    bool ishasphone1 = new B2bCompanyManagerUserData().Ishasphone(manageuser.Tel, manageuser.Com_id);

                    if (ishasphone1 == false)
                    {
                        return(JsonConvert.SerializeObject(new { type = 1, msg = "已经有此手机账户了,请修改此手机账户信息" }));
                    }
                }
                else //编辑操作
                {
                    if (manageuser.Tel != manageuser.OldTel)//更换手机添加
                    {
                        //新手机判断是否有重复的
                        bool ishasphone1 = new B2bCompanyManagerUserData().Ishasphone(manageuser.Tel, manageuser.Com_id);
                        if (ishasphone1 == false)
                        {
                            return(JsonConvert.SerializeObject(new { type = 1, msg = "已经有此手机账户了,修改失败" }));
                        }
                    }
                }


                var data = B2bCompanyManagerUserData.InsertOrUpdate(manageuser);
                if (data > 0)
                {
                    var dataa = new Sys_MasterGroupData().EditMasterGroup(data.ToString(), mastername, grouparr, createmasterid, createmastername, createdate);

                    var channelid = 0;

                    //判断是否含有当前渠道信息
                    if (manageuser.Id == 0)//添加员工操作
                    {
                        int cid      = 0;
                        var channnel = new MemberChannelData().Ishasphone(manageuser.Tel, manageuser.Com_id, out cid);
                        if (channnel)
                        {
                            //添加渠道信息
                            channelid = new MemberChannelData().EditSimplyChannel(0, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                        }
                        else
                        {
                            //编辑渠道信息
                            channelid = new MemberChannelData().EditSimplyChannel(cid, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                        }
                    }
                    else
                    {                                            //修改员工信息时
                        //首先判断手机是否更换
                        if (manageuser.Tel == manageuser.OldTel) //没有更换就直接查找渠道,无此手机添加,由此手机更新
                        {
                            int cid      = 0;
                            var channnel = new MemberChannelData().Ishasphone(manageuser.Tel, manageuser.Com_id, out cid);//先判断
                            if (channnel)
                            {
                                //添加渠道信息
                                channelid = new MemberChannelData().EditSimplyChannel(0, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                            }
                            else
                            {
                                //编辑渠道信息
                                channelid = new MemberChannelData().EditSimplyChannel(cid, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                            }
                        }
                        else
                        {                                                                                                  //更换新手机,先查询新手机是否使用,如果未使用
                            int cid      = 0;
                            var channnel = new MemberChannelData().Ishasphone(manageuser.Tel, manageuser.Com_id, out cid); //先判断
                            if (channnel)
                            {
                                var channnel2 = new MemberChannelData().Ishasphone(manageuser.OldTel, manageuser.Com_id, out cid);//获取老手机渠道信息,
                                if (channnel2)
                                {
                                    //未查询到老手机,直接添加新手机添加渠道信息
                                    channelid = new MemberChannelData().EditSimplyChannel(0, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                                }
                                else
                                {
                                    //对老的手机渠道信息更新编辑渠道信息
                                    channelid = new MemberChannelData().EditSimplyChannel(cid, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                                }
                            }
                            else
                            { //如果已使用,则不操作渠道,等于员工和新手机渠道绑定
                            }
                        }
                    }
                    if (channelid > 0)
                    {
                        Member_Channel m_channel = new MemberChannelData().GetChannelDetail(channelid);
                        if (m_channel != null)
                        {
                            //判断公司微信是否是 已认证服务号
                            bool isrz_fuwuno = new MemberChannelData().IsRz_fuwuno(manageuser.Com_id);
                            if (isrz_fuwuno)
                            {
                                //判断渠道是否已经生成过参数二维码
                                bool iscreate_paramqrcode = new WxSubscribeSourceData().Ishascreate_paramqrcode(channelid);
                                if (iscreate_paramqrcode == false)
                                {
                                    JavaScriptSerializer ser = new JavaScriptSerializer();
                                    ResultClass          foo = ser.Deserialize <ResultClass>(WeiXinJsonData.EditWxQrcode(0, manageuser.Com_id, "系统生成" + m_channel.Name + m_channel.Mobile, 0, m_channel.Companyid, channelid, 1));
                                }
                            }
                        }
                    }

                    if (dataa > 0)
                    {
                        return(JsonConvert.SerializeObject(new { type = 100, msg = dataa }));
                    }
                    else
                    {
                        return(JsonConvert.SerializeObject(new { type = 1, msg = "编辑账户信息时出现意外错误" }));
                    }
                }
                else
                {
                    return(JsonConvert.SerializeObject(new { type = 1, msg = "编辑账户信息时出现意外错误." }));
                }
            }
            catch (Exception ex)
            {
                return(JsonConvert.SerializeObject(new { type = 1, msg = ex.Message }));

                throw;
            }
        }