protected int SkipWeixinOpenId(string openId, string weixinNickName, string unionId, string headimgurl, string ReferralUserId, bool isSubscribe) { int num = 1; MemberInfo memberInfo = MemberProcessor.GetMemberByOpenId("hishop.plugins.openid.weixin", openId); bool flag = false; if (memberInfo == null) { memberInfo = MemberProcessor.GetMemberByUnionId(unionId); flag = true; } SiteSettings masterSettings = SettingsManager.GetMasterSettings(); ShoppingCartInfo cookieShoppingCart = ShoppingCartProcessor.GetCookieShoppingCart(); bool flag2 = false; if (memberInfo != null) { num = 2; if (memberInfo.IsSubscribe != isSubscribe) { memberInfo.IsSubscribe = isSubscribe; flag2 = true; } bool flag3 = MemberProcessor.IsBindedWeixin(memberInfo.UserId, "hishop.plugins.openid.weixin"); memberInfo.Picture = headimgurl; if (!string.IsNullOrEmpty(unionId) && memberInfo.UnionId != unionId && !flag) { memberInfo.UnionId = unionId; flag2 = true; } if (flag) { if (!flag3) { MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo(); memberOpenIdInfo.UserId = memberInfo.UserId; memberOpenIdInfo.OpenIdType = "hishop.plugins.openid.weixin"; memberOpenIdInfo.OpenId = openId; MemberProcessor.AddMemberOpenId(memberOpenIdInfo); memberInfo.IsQuickLogin = true; flag2 = true; } else { MemberOpenIdInfo memberOpenIdInfo2 = new MemberOpenIdInfo(); memberOpenIdInfo2.UserId = memberInfo.UserId; memberOpenIdInfo2.OpenIdType = "hishop.plugins.openid.weixin"; memberOpenIdInfo2.OpenId = openId; MemberProcessor.UpdateMemberOpenId(memberOpenIdInfo2); } } if (flag2) { MemberProcessor.UpdateMember(memberInfo); } Users.SetCurrentUser(memberInfo.UserId, 30, true, false); HiContext.Current.User = memberInfo; if (cookieShoppingCart != null) { ShoppingCartProcessor.ConvertShoppingCartToDataBase(cookieShoppingCart); ShoppingCartProcessor.ClearCookieShoppingCart(); } if (!string.IsNullOrEmpty(openId)) { HttpCookie httpCookie = new HttpCookie("openId"); httpCookie.HttpOnly = true; httpCookie.Value = openId; httpCookie.Expires = DateTime.MaxValue; HttpContext.Current.Response.Cookies.Add(httpCookie); } lock (this.lockCopyRedEnvelope) { this.CopyRedEnvelope(openId, memberInfo); } return(num); } memberInfo = new MemberInfo(); memberInfo.Picture = headimgurl; memberInfo.IsSubscribe = isSubscribe; int num2 = 0; if (ReferralUserId.ToInt(0) > 0) { memberInfo.ReferralUserId = ReferralUserId.ToInt(0); } MemberWXReferralInfo wXReferral = VShopHelper.GetWXReferral(openId.Trim()); if (wXReferral != null) { VShopHelper.DeleteWXReferral(openId.Trim()); } memberInfo.GradeId = MemberProcessor.GetDefaultMemberGrade(); if (!string.IsNullOrEmpty(weixinNickName)) { MemberInfo memberInfo2 = memberInfo; MemberInfo memberInfo3 = memberInfo; string text3 = memberInfo2.UserName = (memberInfo3.NickName = HttpUtility.UrlDecode(weixinNickName)); } if (string.IsNullOrEmpty(memberInfo.UserName)) { memberInfo.UserName = "******" + this.GenerateUsername(8); } if (MemberProcessor.FindMemberByUsername(memberInfo.UserName) != null) { memberInfo.UserName = "******" + this.GenerateUsername(9); if (MemberProcessor.FindMemberByUsername(memberInfo.UserName) != null) { memberInfo.UserName = this.GenerateUsername(); if (MemberProcessor.FindMemberByUsername(memberInfo.UserName) != null) { num = -1; } } } if (num == 1) { string text4 = this.GeneratePassword(); string text5 = "Open"; string text6 = text4; text4 = (memberInfo.Password = Users.EncodePassword(text4, text5)); memberInfo.PasswordSalt = text5; memberInfo.RegisteredSource = 3; memberInfo.CreateDate = DateTime.Now; memberInfo.IsQuickLogin = true; memberInfo.IsLogined = true; memberInfo.UnionId = unionId; num2 = MemberProcessor.CreateMember(memberInfo); if (num2 <= 0) { num = -1; } } if (num == 1) { memberInfo.UserId = num2; memberInfo.UserName = MemberHelper.GetUserName(memberInfo.UserId); MemberHelper.Update(memberInfo, true); Users.SetCurrentUser(memberInfo.UserId, 30, false, false); HiContext.Current.User = memberInfo; if (cookieShoppingCart != null) { ShoppingCartProcessor.ConvertShoppingCartToDataBase(cookieShoppingCart); ShoppingCartProcessor.ClearCookieShoppingCart(); } if (!string.IsNullOrEmpty(openId)) { MemberOpenIdInfo memberOpenIdInfo3 = new MemberOpenIdInfo(); memberOpenIdInfo3.UserId = memberInfo.UserId; memberOpenIdInfo3.OpenIdType = "hishop.plugins.openid.weixin"; memberOpenIdInfo3.OpenId = openId; if (MemberProcessor.GetMemberByOpenId(memberOpenIdInfo3.OpenIdType, openId) == null) { MemberProcessor.AddMemberOpenId(memberOpenIdInfo3); } if (!string.IsNullOrEmpty(openId)) { HttpCookie httpCookie2 = new HttpCookie("openId"); httpCookie2.HttpOnly = true; httpCookie2.Value = openId; httpCookie2.Expires = DateTime.MaxValue; HttpContext.Current.Response.Cookies.Add(httpCookie2); } lock (this.lockCopyRedEnvelope) { this.CopyRedEnvelope(openId, memberInfo); } } } return(num); }