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