/// <summary> /// 将红包金额存到预存款里 (领取红包时执行) /// 只会出现一条红包记录 /// </summary> private void DepositToMember(string openId, decimal price, string unionId = "") { //查看用户、OpenId关联表里是否存在数据,存在则证明已经绑定过OpenId MemberOpenIdInfo model = DbFactory.Default.Get <MemberOpenIdInfo>().Where(p => p.OpenId.ToLower() == openId.ToLower()).FirstOrDefault(); if (model == null && !string.IsNullOrEmpty(unionId)) { model = DbFactory.Default.Get <MemberOpenIdInfo>().Where(p => p.UnionId.ToLower() == unionId.ToLower()).FirstOrDefault(); } if (model != null) { var receive = DbFactory.Default.Get <BonusReceiveInfo>().Where(p => (p.OpenId.ToLower() == openId.ToLower() || p.OpenId.ToLower() == model.UnionId.ToLower()) && p.IsTransformedDeposit == false).FirstOrDefault(); if (receive == null || receive.Id <= 0) { return;//没有未领取红包提前跳出 } receive.IsTransformedDeposit = true; receive.UserId = model.UserId; DbFactory.Default.Update(receive); IMemberCapitalService capitalServicer = Mall.ServiceProvider.Instance <IMemberCapitalService> .Create; CapitalDetailModel capita = new CapitalDetailModel { UserId = model.UserId, SourceType = Mall.Entities.CapitalDetailInfo.CapitalDetailType.RedPacket, Amount = price, CreateTime = ((DateTime)receive.ReceiveTime).ToString("yyyy-MM-dd HH:mm:ss") }; capitalServicer.AddCapital(capita); } }
/// <summary> /// 将红包金额存到预存款里 (领取红包时执行) /// 只会出现一条红包记录 /// </summary> private void DepositToMember(string openId, decimal price) { Entities efContext = new Entities(); //查看用户、OpenId关联表里是否存在数据,存在则证明已经绑定过OpenId MemberOpenIdInfo model = efContext.MemberOpenIdInfo.Where(p => p.OpenId == openId).FirstOrDefault(); if (model != null) { var receive = efContext.BonusReceiveInfo.Where(p => p.OpenId == openId && !p.IsTransformedDeposit).FirstOrDefault(); receive.IsTransformedDeposit = true; receive.Himall_Members = efContext.UserMemberInfo.FirstOrDefault(p => p.Id == model.UserId); efContext.SaveChanges(); IMemberCapitalService capitalServicer = Himall.ServiceProvider.Instance <IMemberCapitalService> .Create; CapitalDetailModel capita = new CapitalDetailModel { UserId = model.UserId, SourceType = CapitalDetailInfo.CapitalDetailType.RedPacket, Amount = price, CreateTime = ((DateTime)receive.ReceiveTime).ToString("yyyy-MM-dd HH:mm:ss") }; capitalServicer.AddCapital(capita); } efContext.Dispose(); }
private void SkipWinxinOpenId(string userName, string openId) { string generateId = Globals.GetGenerateId(); MemberInfo memberInfo = new MemberInfo(); memberInfo.GradeId = MemberProcessor.GetDefaultMemberGrade(); memberInfo.UserName = userName; memberInfo.SessionId = generateId; memberInfo.Password = generateId; string text2 = memberInfo.PasswordSalt = "Open"; memberInfo.RealName = string.Empty; memberInfo.Address = string.Empty; int num = MemberProcessor.CreateMember(memberInfo); if (num == 0) { memberInfo.UserName = "******" + generateId; memberInfo.Password = generateId; MemberProcessor.CreateMember(memberInfo); } MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo(); memberOpenIdInfo.UserId = num; memberOpenIdInfo.OpenIdType = "hishop.plugins.openid.weixin"; memberOpenIdInfo.OpenId = openId; if (MemberProcessor.GetMemberByOpenId(memberOpenIdInfo.OpenIdType, memberOpenIdInfo.OpenId) == null) { MemberProcessor.AddMemberOpenId(memberOpenIdInfo); } Users.SetCurrentUser(num, 30, true, false); HiContext.Current.User = memberInfo; }
//平台红包存储 private void DepositToRegister(MemberOpenIdInfo openInfo) { //获取某个OpenId对应的红包记录(在Mall3.3版本,考虑到小程序首页配置了现金红包跳转到红包页面的情况,将之前的openId改为UnionId,并兼容以前的数据) var receives = DbFactory.Default.Get <BonusReceiveInfo>().Where(p => (p.OpenId.ToLower() == openInfo.OpenId.ToLower() || p.OpenId.ToLower() == openInfo.UnionId.ToLower()) && p.IsTransformedDeposit == false); var list = receives.ToList(); List <CapitalDetailModel> capitals = new List <CapitalDetailModel>(); //存在数据则证明有可用红包,可以存到预存款里 if (list.Count > 0) { foreach (var model in list) { model.IsTransformedDeposit = true; model.UserId = openInfo.UserId; DbFactory.Default.Update(model); CapitalDetailModel capital = new CapitalDetailModel() { UserId = openInfo.UserId, SourceType = Mall.Entities.CapitalDetailInfo.CapitalDetailType.RedPacket, Amount = model.Price, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; new MemberCapitalService().AddCapital(capital); } } IMemberCapitalService capitalServicer = Mall.ServiceProvider.Instance <IMemberCapitalService> .Create; foreach (var c in capitals) { capitalServicer.AddCapital(c); } }
private void DepositToRegister(MemberOpenIdInfo openInfo, Entities efContext) { IQueryable <BonusReceiveInfo> bonusReceiveInfo = from p in efContext.BonusReceiveInfo where (p.OpenId == openInfo.OpenId) && !p.IsTransformedDeposit select p; List <BonusReceiveInfo> list = bonusReceiveInfo.ToList(); List <CapitalDetailModel> capitalDetailModels = new List <CapitalDetailModel>(); if (list.Count > 0) { foreach (BonusReceiveInfo bonusReceiveInfo1 in list) { bonusReceiveInfo1.IsTransformedDeposit = true; bonusReceiveInfo1.ChemCloud_Members = efContext.UserMemberInfo.FirstOrDefault((UserMemberInfo p) => p.Id == openInfo.UserId); CapitalDetailModel capitalDetailModel = new CapitalDetailModel() { UserId = openInfo.UserId, //SourceType = CapitalDetailInfo.CapitalDetailType.RedPacket, Amount = bonusReceiveInfo1.Price, CreateTime = bonusReceiveInfo1.ReceiveTime.Value.ToString("yyyy-MM-dd HH:mm:ss") }; capitalDetailModels.Add(capitalDetailModel); } efContext.SaveChanges(); } IMemberCapitalService create = Instance <IMemberCapitalService> .Create; foreach (CapitalDetailModel capitalDetailModel1 in capitalDetailModels) { create.AddCapital(capitalDetailModel1); } }
private void DepositShopBonus(MemberOpenIdInfo openInfo, Entities efContext) { List <ShopBonusReceiveInfo> list = ( from p in efContext.ShopBonusReceiveInfo where (p.OpenId == openInfo.OpenId) && p.UserId == null select p).ToList(); if (list.Count() <= 0) { return; } DateTime now = DateTime.Now; foreach (ShopBonusReceiveInfo nullable in list) { nullable.UserId = new long?(openInfo.UserId); nullable.ReceiveTime = new DateTime?(now); } try { efContext.SaveChanges(); } catch (Exception exception) { Log.Info("商家红包存储出错:", exception); } }
//商家红包存储 private void DepositShopBonus(MemberOpenIdInfo openInfo) { var msg = new Exception(); var flag = DbFactory.Default .InTransaction(() => { var receives = DbFactory.Default.Get <ShopBonusReceiveInfo>() .Where(p => p.OpenId.ToLower() == openInfo.OpenId.ToLower() && (p.UserId == 0 || p.UserId.ExIsNull())).ToList(); if (receives.Count() <= 0) { return(true); } DateTime now = DateTime.Now; foreach (var r in receives) { r.UserId = openInfo.UserId; r.ReceiveTime = now; DbFactory.Default.Update(r); } return(true); }, null, (ex) => { msg = ex; }); if (!flag) { Log.Info("商家红包存储出错:", msg); } }
private void DepositToMember(string openId, decimal price) { Entities entity = new Entities(); MemberOpenIdInfo memberOpenIdInfo = ( from p in entity.MemberOpenIdInfo where p.OpenId == openId select p).FirstOrDefault(); if (memberOpenIdInfo != null) { BonusReceiveInfo bonusReceiveInfo = ( from p in entity.BonusReceiveInfo where (p.OpenId == openId) && !p.IsTransformedDeposit select p).FirstOrDefault(); bonusReceiveInfo.IsTransformedDeposit = true; bonusReceiveInfo.ChemCloud_Members = entity.UserMemberInfo.FirstOrDefault((UserMemberInfo p) => p.Id == memberOpenIdInfo.UserId); entity.SaveChanges(); IMemberCapitalService create = Instance <IMemberCapitalService> .Create; CapitalDetailModel capitalDetailModel = new CapitalDetailModel() { UserId = memberOpenIdInfo.UserId, //SourceType = CapitalDetailInfo.CapitalDetailType.RedPacket, Amount = price, CreateTime = bonusReceiveInfo.ReceiveTime.Value.ToString("yyyy-MM-dd HH:mm:ss") }; create.AddCapital(capitalDetailModel); } entity.Dispose(); }
public void BindMember(long userId, string serviceProvider, string openId, MemberOpenIdInfo.AppIdTypeEnum AppidType, string headImage = null, string unionid = null) { CheckOpenIdHasBeenUsed(serviceProvider, openId, userId); MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo() { UserId = userId, OpenId = openId, ServiceProvider = serviceProvider, AppIdType = AppidType, UnionId = (string.IsNullOrWhiteSpace(unionid) ? string.Empty : unionid) }; MemberOpenIdInfo memberOpenIdInfo1 = memberOpenIdInfo; UserMemberInfo userMemberInfo = context.UserMemberInfo.FirstOrDefault((UserMemberInfo item) => item.Id == userId); if (!string.IsNullOrWhiteSpace(headImage) && string.IsNullOrWhiteSpace(userMemberInfo.Photo)) { userMemberInfo.Photo = TransferHeadImage(headImage, userId); } context.MemberOpenIdInfo.Add(memberOpenIdInfo1); context.SaveChanges(); Instance <IBonusService> .Create.DepositToRegister(userMemberInfo.Id); if (serviceProvider.ToLower() == "ChemCloud.Plugin.OAuth.WeiXin".ToLower()) { AddBindInergral(userMemberInfo); } Cache.Remove(CacheKeyCollection.Member(userId)); }
//平台红包存储 private void DepositToRegister(MemberOpenIdInfo openInfo, Entities efContext) { //获取某个OpenId对应的红包记录 var receives = efContext.BonusReceiveInfo.Where(p => p.OpenId == openInfo.OpenId && !p.IsTransformedDeposit); var list = receives.ToList(); List <CapitalDetailModel> capitals = new List <CapitalDetailModel>(); //存在数据则证明有可用红包,可以存到预存款里 if (list.Count > 0) { foreach (var model in list) { model.IsTransformedDeposit = true; model.Himall_Members = efContext.UserMemberInfo.FirstOrDefault(p => p.Id == openInfo.UserId); CapitalDetailModel capital = new CapitalDetailModel() { UserId = openInfo.UserId, SourceType = CapitalDetailInfo.CapitalDetailType.RedPacket, Amount = model.Price, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; new MemberCapitalService().AddCapital(capital); } efContext.SaveChanges(); } IMemberCapitalService capitalServicer = Himall.ServiceProvider.Instance <IMemberCapitalService> .Create; foreach (var c in capitals) { capitalServicer.AddCapital(c); } }
//诊所红包存储 private void DepositShopBonus(MemberOpenIdInfo openInfo, Entities efContext) { var receives = efContext.ShopBonusReceiveInfo.Where(p => p.OpenId == openInfo.OpenId && p.UserId == null).ToList(); if (receives.Count() <= 0) { return; } DateTime now = DateTime.Now; foreach (var r in receives) { r.UserId = openInfo.UserId; r.ReceiveTime = now; } try { efContext.SaveChanges(); } catch (Exception e) { Log.Info("诊所红包存储出错:", e); } }
/// <summary> ///账号密码登录 /// </summary> /// <returns></returns> public object GetLoginByUserName(string openId = "", string userName = "", string password = "", string nickName = "") { if (!string.IsNullOrEmpty(openId) && !string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) { UserMemberInfo member = null; try { member = ServiceProvider.Instance <IMemberService> .Create.Login(userName, password); } catch (Exception ex) { GetErrorJson(ex.Message); } if (member == null) { GetErrorJson("用户名或密码错误"); } else { if (member != null) { bool IsUpdate = true; //如果不是一键登录的 则绑定openId if (!string.IsNullOrEmpty(openId)) { //UserMemberInfo memberopen = ServiceProvider.Instance<IMemberService>.Create.GetMemberByOpenId(SmallProgServiceProvider, openId); //if (memberopen == null) //{ // IsUpdate = true; // //新增openId记录 //} //else //{ // if (memberopen.Id != member.Id) // { MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo() { UserId = member.Id, OpenId = openId, ServiceProvider = SmallProgServiceProvider, AppIdType = Himall.Model.MemberOpenIdInfo.AppIdTypeEnum.Normal, UnionId = string.Empty }; LoginHelper.ChangeOpenIdBindMember(memberOpenIdInfo); // } //} } string memberId = UserCookieEncryptHelper.Encrypt(member.Id, CookieKeysCollection.USERROLE_USER); var prom = DistributionApplication.GetPromoterByUserId(member.Id); return(GetMember(member, openId)); } } } return(Json(new { Success = "No" })); }
private void Pay(InpourRequestInfo request) { string inpourId = request.InpourId; PayGatewayInfo gatewayInfo = this.GetGatewayInfo(request.PaymentId.ToString()); gatewayInfo.InpourRequest = request; if (gatewayInfo.GatewayTypeName == "hishop.plugins.payment.weixinrequest") { string empty = string.Empty; MemberInfo user = HiContext.Current.User; if (user.UserId != 0) { MemberOpenIdInfo memberOpenIdInfo = user.MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin"); if (memberOpenIdInfo != null) { empty = memberOpenIdInfo.OpenId; } } else { this.Page.Response.Redirect("/" + base.ClientType.ToString() + "/Login.aspx", true); } this.Page.Response.Redirect("/pay/WeiXinInpourSubmit?orderId=" + inpourId, true); } if (gatewayInfo.GatewayTypeName == "hishop.plugins.payment.alipaywx.alipaywxrequest") { HttpContext.Current.Response.Redirect("~/vshop/WXAliPay.aspx?orderId=" + inpourId + "&status=1"); } if (gatewayInfo.GatewayTypeName == "hishop.plugins.payment.ws_apppay.wswappayrequest") { HttpContext.Current.Response.Redirect("~/pay/app_alipay_Submit?orderId=" + inpourId, true); } SiteSettings masterSettings = SettingsManager.GetMasterSettings(); string text = $"http://{HttpContext.Current.Request.Url.Host}/{HiContext.Current.GetClientPath}/"; string hIGW = gatewayInfo.GatewayTypeName.Replace(".", "_"); string wapInpourNotifyUrl = Globals.FullPath(base.GetRouteUrl("WapInpourNotify", new { HIGW = hIGW })); string wapInpourReturnUrl = Globals.FullPath(base.GetRouteUrl("WapInpourReturn", new { HIGW = hIGW })); PaymentModeInfo paymentModeInfo = gatewayInfo.Paymode = ShoppingProcessor.GetPaymentMode(gatewayInfo.GatewayTypeName); gatewayInfo.OrderId = inpourId; if (paymentModeInfo == null) { this.ShowWapMessage("错误的支付方式", this.Page.Request.Url.ToString()); } else { gatewayInfo.WapInpourNotifyUrl = wapInpourNotifyUrl; gatewayInfo.WapInpourReturnUrl = wapInpourReturnUrl; this.SendRequest(gatewayInfo); } }
public UserMemberInfo GetMemberByUnionId(string serviceProvider, string UnionId) { UserMemberInfo userMemberInfo = null; MemberOpenIdInfo memberOpenIdInfo = context.MemberOpenIdInfo.FirstOrDefault((MemberOpenIdInfo item) => (item.ServiceProvider == serviceProvider) && (item.UnionId == UnionId)); if (memberOpenIdInfo != null) { userMemberInfo = context.UserMemberInfo.FindById <UserMemberInfo>(memberOpenIdInfo.UserId); } return(userMemberInfo); }
public object Receive(long grantid, string openId, string wxhead, string wxname) { if (DbFactory.Default.Get <ShopBonusReceiveInfo>().Where(p => p.OpenId == openId && p.BonusGrantId == grantid).Exist()) //已领取过 { return(new ShopReceiveModel { State = ShopReceiveStatus.Receive, Price = 0 }); } var receives = DbFactory.Default.Get <ShopBonusReceiveInfo>().Where(p => p.BonusGrantId == grantid && p.OpenId.ExIfNull("") == "").FirstOrDefault(); if (receives == null) //已被领完 { return new ShopReceiveModel { State = ShopReceiveStatus.HaveNot, Price = 0 } } ; var bonus = DbFactory.Default.Get <ShopBonusInfo>() .LeftJoin <ShopBonusGrantInfo>((b, g) => g.ShopBonusId == b.Id) .Where <ShopBonusGrantInfo>(p => p.Id == receives.BonusGrantId) .FirstOrDefault(); if (bonus.IsInvalid) //失效 { return new ShopReceiveModel { State = ShopReceiveStatus.Invalid, Price = 0 } } ; MemberOpenIdInfo model = model = DbFactory.Default.Get <MemberOpenIdInfo>().Where(p => p.OpenId.ToLower() == openId.ToLower()).FirstOrDefault(); if (model != null) //在平台有帐号并且已经绑定openid { receives.UserId = model.UserId; } receives.OpenId = openId; receives.ReceiveTime = DateTime.Now; receives.WXHead = wxhead; receives.WXName = wxname; DbFactory.Default.Update(receives); if (model != null) { string username = DbFactory.Default.Get <MemberInfo>().Where(p => p.Id == model.UserId).Select(p => p.UserName).FirstOrDefault <string>(); return(new ShopReceiveModel { State = ShopReceiveStatus.CanReceive, Price = (decimal)receives.Price, UserName = username, Id = receives.Id }); } return(new ShopReceiveModel { State = ShopReceiveStatus.CanReceiveNotUser, Price = (decimal)receives.Price, Id = receives.Id }); }
public UserMemberInfo QuickRegister(string username, string realName, string nickName, string serviceProvider, string openId, string headImage = null, MemberOpenIdInfo.AppIdTypeEnum appidtype = (MemberOpenIdInfo.AppIdTypeEnum) 1, string unionid = null, string unionopenid = null) { username = GetNewUserName(); CheckInputIsValidWhenQuickRegister(username, serviceProvider, openId); CheckOpenIdHasBeenUsed(serviceProvider, openId, 0); if (string.IsNullOrWhiteSpace(nickName)) { nickName = username; } Guid guid = Guid.NewGuid(); string str = string.Concat("o", guid.ToString("N").Substring(12)); string passwrodWithTwiceEncode = GetPasswrodWithTwiceEncode("", str); UserMemberInfo userMemberInfo = new UserMemberInfo() { UserName = username, PasswordSalt = str, CreateDate = DateTime.Now, LastLoginDate = DateTime.Now, Nick = nickName, RealName = realName }; UserMemberInfo userMemberInfo1 = userMemberInfo; if (context.UserMemberInfo.Any((UserMemberInfo d) => d.UserName == userMemberInfo1.UserName)) { throw new HimallException("用户名被占用"); } using (TransactionScope transactionScope = new TransactionScope()) { userMemberInfo1.Password = passwrodWithTwiceEncode; userMemberInfo1 = context.UserMemberInfo.Add(userMemberInfo1); context.SaveChanges(); MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo() { UserId = userMemberInfo1.Id, OpenId = openId, ServiceProvider = serviceProvider, AppIdType = appidtype, UnionId = (string.IsNullOrWhiteSpace(unionid) ? string.Empty : unionid), UnionOpenId = (string.IsNullOrWhiteSpace(unionopenid) ? string.Empty : unionopenid) }; context.MemberOpenIdInfo.Add(memberOpenIdInfo); context.SaveChanges(); if (!string.IsNullOrWhiteSpace(headImage)) { userMemberInfo1.Photo = TransferHeadImage(headImage, userMemberInfo1.Id); } context.SaveChanges(); transactionScope.Complete(); } return(userMemberInfo1); }
public static MemberOpenIdInfo PopulateMemberOpenIdInfo(IDataRecord reader) { if (reader == null) { return(null); } MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo(); memberOpenIdInfo.UserId = (int)reader["UserId"]; memberOpenIdInfo.OpenIdType = (string)reader["OpenIdType"]; memberOpenIdInfo.OpenId = (string)reader["OpenId"]; return(memberOpenIdInfo); }
public object Receive(long grantid, string openId, string wxhead, string wxname) { Log.Info(string.Format("Receive函数 = gid:{0} , oid:{1}", grantid, openId)); if (Context.ShopBonusReceiveInfo.Where(p => p.OpenId == openId && p.BonusGrantId == grantid).Count() > 0) //已领取过 { return(new ShopReceiveModel { State = ShopReceiveStatus.Receive, Price = 0 }); } var receives = Context.ShopBonusReceiveInfo.Where(p => p.BonusGrantId == grantid && string.IsNullOrEmpty(p.OpenId)).FirstOrDefault(); if (receives == null) //已被领完 { return(new ShopReceiveModel { State = ShopReceiveStatus.HaveNot, Price = 0 }); } else if (receives.Himall_ShopBonusGrant.Himall_ShopBonus.IsInvalid) //失效 { return(new ShopReceiveModel { State = ShopReceiveStatus.Invalid, Price = 0 }); } MemberOpenIdInfo model = model = Context.MemberOpenIdInfo.Where(p => p.OpenId == openId).FirstOrDefault(); if (model != null) //在平台有帐号并且已经绑定openid { receives.UserId = model.UserId; } receives.OpenId = openId; receives.ReceiveTime = DateTime.Now; receives.WXHead = wxhead; receives.WXName = wxname; Context.SaveChanges(); if (model != null) { string username = Context.UserMemberInfo.Where(p => p.Id == model.UserId).Select(p => p.UserName).FirstOrDefault(); return(new ShopReceiveModel { State = ShopReceiveStatus.CanReceive, Price = ( decimal )receives.Price, UserName = username, Id = receives.Id }); } return(new ShopReceiveModel { State = ShopReceiveStatus.CanReceiveNotUser, Price = ( decimal )receives.Price, Id = receives.Id }); }
public MemberOpenIdInfo GetMemberOpenIdInfo(int userId, string openIdType) { DbCommand sqlStringCommand = base.database.GetSqlStringCommand("SELECT [UserId],[OpenIdType],[OpenId] FROM [dbo].[aspnet_MemberOpenIds] WHERE UserId = @UserId AND OpenIdType = LOWER(@OpenIdType)"); base.database.AddInParameter(sqlStringCommand, "UserId", DbType.Int32, userId); base.database.AddInParameter(sqlStringCommand, "OpenIdType", DbType.String, openIdType); MemberOpenIdInfo result = null; using (IDataReader dataReader = base.database.ExecuteReader(sqlStringCommand)) { if (dataReader.Read()) { result = MemberOpenIdDao.PopulateMemberOpenIdInfo(dataReader); } } return(result); }
/// <summary> ///账号密码登录 /// </summary> /// <returns></returns> public JsonResult <Result <dynamic> > GetLoginByUserName(string openId = "", string userName = "", string password = "", string nickName = "") { if (!string.IsNullOrEmpty(openId) && !string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) { MemberInfo member = null; try { member = ServiceProvider.Instance <IMemberService> .Create.Login(userName, password); } catch (Exception ex) { return(Json(ErrorResult <dynamic>(ex.Message))); } if (member == null) { return(Json(ErrorResult <dynamic>("用户名或密码错误"))); } else { if (member != null) { //如果不是一键登录的 则绑定openId if (!string.IsNullOrEmpty(openId)) { MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo() { UserId = member.Id, OpenId = openId, ServiceProvider = SmallProgServiceProvider, AppIdType = MemberOpenIdInfo.AppIdTypeEnum.Normal, UnionId = string.Empty }; MemberApplication.UpdateOpenIdBindMember(memberOpenIdInfo); } string memberId = UserCookieEncryptHelper.Encrypt(member.Id, CookieKeysCollection.USERROLE_USER); return(GetMember(member, openId)); } } } return(Json(ErrorResult <dynamic>(string.Empty))); }
public MemberOpenIdInfo GetMemberByOpenId(string openIdType, string openId) { DbCommand sqlStringCommand = base.database.GetSqlStringCommand("SELECT [UserId],[OpenIdType],[OpenId] FROM [dbo].[aspnet_MemberOpenIds] WHERE OpenId = @OpenId AND OpenIdType = LOWER(@OpenIdType)"); base.database.AddInParameter(sqlStringCommand, "OpenIdType", DbType.String, openIdType); base.database.AddInParameter(sqlStringCommand, "OpenId", DbType.String, openId); IList <MemberOpenIdInfo> list = new List <MemberOpenIdInfo>(); using (IDataReader objReader = base.database.ExecuteReader(sqlStringCommand)) { list = DataHelper.ReaderToList <MemberOpenIdInfo>(objReader); } MemberOpenIdInfo result = null; if (list != null && list.Count > 0) { result = list.First(); } return(result); }
private void SetLoginState(MemberInfo member) { string text = this.parameters["HIGW"]; string openId = this.parameters["CurrentOpenId"]; MemberOpenIdInfo memberOpenId = MemberProcessor.GetMemberOpenId(text, openId); if (memberOpenId == null) { memberOpenId = new MemberOpenIdInfo(); memberOpenId.UserId = member.UserId; memberOpenId.OpenIdType = text; memberOpenId.OpenId = openId; MemberProcessor.AddMemberOpenId(memberOpenId); } Users.SetCurrentUser(member.UserId, 30, false, false); HiContext.Current.User = member; ShoppingCartInfo cookieShoppingCart = ShoppingCartProcessor.GetCookieShoppingCart(); if (cookieShoppingCart != null) { ShoppingCartProcessor.ConvertShoppingCartToDataBase(cookieShoppingCart); ShoppingCartProcessor.ClearCookieShoppingCart(); } if (!string.IsNullOrEmpty(this.parameters["token"])) { HttpCookie httpCookie = new HttpCookie("Token_" + HiContext.Current.UserId.ToString()); httpCookie.HttpOnly = true; httpCookie.Expires = DateTime.Now.AddMinutes(30.0); httpCookie.Value = this.parameters["token"]; HttpContext.Current.Response.Cookies.Add(httpCookie); } if (!string.IsNullOrEmpty(this.parameters["target_url"])) { this.Page.Response.Redirect(this.parameters["target_url"], true); } this.Page.Response.Redirect("/"); }
public void BindMember(long userId, string serviceProvider, string openId, string headImage = null, string unionid = null, string unionopenid = null) { CheckOpenIdHasBeenUsed(serviceProvider, openId, userId); MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo() { UserId = userId, OpenId = openId, ServiceProvider = serviceProvider, UnionId = (unionid == null ? string.Empty : unionid), UnionOpenId = (string.IsNullOrWhiteSpace(unionopenid) ? string.Empty : unionopenid) }; MemberOpenIdInfo memberOpenIdInfo1 = memberOpenIdInfo; UserMemberInfo userMemberInfo = context.UserMemberInfo.FirstOrDefault((UserMemberInfo item) => item.Id == userId); if (!string.IsNullOrWhiteSpace(headImage) && string.IsNullOrWhiteSpace(userMemberInfo.Photo)) { userMemberInfo.Photo = TransferHeadImage(headImage, userId); } context.MemberOpenIdInfo.Add(memberOpenIdInfo1); context.SaveChanges(); Instance <IBonusService> .Create.DepositToRegister(userMemberInfo.Id); Cache.Remove(CacheKeyCollection.Member(userId)); }
private void SetLoginState(MemberInfo member, int iSendCouponCount = 0) { string text = Globals.StripAllTags(this.Parameters["CurrentOpenId"]); if (!string.IsNullOrEmpty(text)) { MemberOpenIdInfo memberOpenIdInfo = MemberProcessor.GetMemberOpenIdInfo(member.UserId, this.openIdType); if (memberOpenIdInfo != null && memberOpenIdInfo.OpenId != text) { this.ShowMessage("该账号已被绑定,请绑定其他帐号。", false, "", 1); return; } MemberOpenIdInfo memberOpenId = MemberProcessor.GetMemberOpenId(this.openIdType, text); if (memberOpenId == null) { memberOpenId = new MemberOpenIdInfo(); memberOpenId.UserId = member.UserId; memberOpenId.OpenIdType = this.openIdType; memberOpenId.OpenId = text; try { MemberProcessor.AddMemberOpenId(memberOpenId); } catch (Exception ex) { NameValueCollection param = new NameValueCollection { this.Page.Request.QueryString, this.Page.Request.Form }; Globals.WriteExceptionLog_Page(ex, param, "AddMemberOpenId"); } } } Users.SetCurrentUser(member.UserId, 0, true, true); HiContext.Current.User = member; ShoppingCartInfo cookieShoppingCart = ShoppingCartProcessor.GetCookieShoppingCart(); if (cookieShoppingCart != null) { ShoppingCartProcessor.ConvertShoppingCartToDataBase(cookieShoppingCart); ShoppingCartProcessor.ClearCookieShoppingCart(); } if (!string.IsNullOrEmpty(this.Parameters["token"])) { HttpCookie httpCookie = new HttpCookie("Token_" + member.UserId); httpCookie.HttpOnly = true; httpCookie.Expires = DateTime.Now.AddMinutes(30.0); httpCookie.Value = this.Parameters["token"]; HttpContext.Current.Response.Cookies.Add(httpCookie); } if (!string.IsNullOrEmpty(this.Parameters["target_url"])) { this.Page.Response.Redirect(this.Parameters["target_url"], true); } string text2 = this.Parameters["HITO"]; string text3 = this.Parameters["target_url"].ToNullString(); if (string.IsNullOrEmpty(text3)) { text3 = "/Default"; } if (iSendCouponCount > 0) { this.ShowMessage("恭喜您注册成功," + iSendCouponCount + " 张优惠券已经放入您的账户,可在会员中心我的优惠券中进行查看", true, text3, 1); } else { this.ShowMessage("恭喜您注册/登录成功", true, text3, 1); } }
private void btnBindingLogin_Click(object sender, EventArgs e) { string text = Globals.StripAllTags(this.Parameters["CurrentOpenId"].ToNullString()); string text2 = Globals.StripAllTags(base.GetParameter("HIGW", false).ToNullString().Replace("_", ".")); if (this.Page.IsValid) { string text3 = Globals.StripAllTags(this.txtBindUserName.Text.Trim()); if (string.IsNullOrEmpty(text3)) { this.ShowMessage("用户名不能为空", false, "", 1); } else { MemberInfo memberInfo = MemberProcessor.ValidLogin(text3, this.txtBindPassword.Text); if (memberInfo != null) { if (!string.IsNullOrEmpty(memberInfo.UnionId) && text2.ToLower() == "hishop.plugins.openid.weixin.weixinservice" && memberInfo.UnionId != text) { this.ShowMessage("该用户已存在信任登录绑定关系,请选择其它帐号", false, "", 1); } else { MemberInfo memberByOpenId = MemberProcessor.GetMemberByOpenId(text2, text); if (memberByOpenId != null && memberByOpenId.UserId != memberInfo.UserId) { this.ShowMessage("该用户已存在信任登录绑定关系,请选择其它帐号", false, "", 1); } else { if (string.IsNullOrEmpty(memberInfo.NickName)) { memberInfo.NickName = this.hidNickName.Value; MemberProcessor.UpdateMember(memberInfo); } Users.SetCurrentUser(memberInfo.UserId, 0, true, true); HiContext.Current.User = memberInfo; ShoppingCartInfo cookieShoppingCart = ShoppingCartProcessor.GetCookieShoppingCart(); if (cookieShoppingCart != null) { ShoppingCartProcessor.ConvertShoppingCartToDataBase(cookieShoppingCart); ShoppingCartProcessor.ClearCookieShoppingCart(); } if (!string.IsNullOrEmpty(text2) && !string.IsNullOrEmpty(text)) { if (text2.ToLower() == "hishop.plugins.openid.weixin.weixinservice" && MemberProcessor.GetMemberByUnionId(text) == null) { memberInfo.UnionId = text; MemberProcessor.UpdateMember(memberInfo); } MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo(); memberOpenIdInfo.UserId = memberInfo.UserId; memberOpenIdInfo.OpenIdType = text2; memberOpenIdInfo.OpenId = text; if (MemberProcessor.GetMemberByOpenId(memberOpenIdInfo.OpenIdType, memberOpenIdInfo.OpenId) == null) { MemberProcessor.AddMemberOpenId(memberOpenIdInfo); } } this.SetLoginState(memberInfo, 0); } } } else { this.ShowMessage("用户名或密码不正确", false, "", 1); } } } }
protected override void AttachChildControls() { this.toBuy = (HtmlAnchor)this.FindControl("toBuy"); this.toLogin = (HtmlButton)this.FindControl("toLogin"); this.divGetList = (HtmlGenericControl)this.FindControl("divGetList"); this.toBuy.Visible = true; this.toLogin.Visible = false; this.divGetList.Visible = true; string text = this.Page.Request["SendCode"]; string orderId = this.Page.Request["OrderId"]; OAuthUserInfo oAuthUserInfo = this.Context.Session["oAuthUserInfo"] as OAuthUserInfo; this.CheckRedEnvelope(text, orderId); if (HiContext.Current.UserId > 0 && oAuthUserInfo == null) { MemberInfo user = HiContext.Current.User; MemberOpenIdInfo memberOpenIdInfo = user.MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin"); if (memberOpenIdInfo != null) { oAuthUserInfo = new OAuthUserInfo(); oAuthUserInfo.HeadImageUrl = user.Picture; oAuthUserInfo.IsAttention = user.IsSubscribe; oAuthUserInfo.NickName = user.NickName; oAuthUserInfo.OpenId = memberOpenIdInfo.OpenId; oAuthUserInfo.unionId = user.UnionId; } } if (oAuthUserInfo == null) { oAuthUserInfo = base.GetOAuthUserInfo(true); if (string.IsNullOrEmpty(oAuthUserInfo.OpenId)) { Globals.AppendLog("第一次获取用户OpenId失败,错误原因:" + oAuthUserInfo.ErrMsg, "", "", "OAuthUserInfoError"); this.Page.Response.Redirect("/Vshop/RedEnvelopeError?errorInfo=授权信息获取失败,请重试", true); } this.Context.Session["oAuthUserInfo"] = oAuthUserInfo; } if (string.IsNullOrEmpty(oAuthUserInfo.OpenId)) { this.Page.Response.Redirect("/Vshop/RedEnvelopeError?errorInfo=用户OpenId获取失败,错误原因:" + oAuthUserInfo.ErrMsg, true); } Guid sendCode = Guid.Parse(text); RedEnvelopeGetRecordInfo redEnvelopeGetRecord = this.GetRedEnvelopeGetRecord(oAuthUserInfo, sendCode, orderId); int redEnvelopeGetRecordcCount = WeiXinRedEnvelopeProcessor.GetRedEnvelopeGetRecordcCount(this.weiXinRedEnvelope.Id, sendCode, orderId); RedEnvelopeGetRecordInfo lastRedEnvelopeGetRecord = WeiXinRedEnvelopeProcessor.GetLastRedEnvelopeGetRecord(oAuthUserInfo.OpenId, sendCode, orderId); DateTime dateTime = lastRedEnvelopeGetRecord?.GetTime ?? DateTime.Now.AddDays(-1.0); DateTime now = DateTime.Now; bool flag = false; TimeSpan timeSpan = new TimeSpan(dateTime.Ticks); TimeSpan ts = new TimeSpan(now.Ticks); if (timeSpan.Subtract(ts).Duration().TotalSeconds <= 4.0) { flag = true; } if (!flag) { if (redEnvelopeGetRecordcCount >= this.weiXinRedEnvelope.MaxNumber) { if (oAuthUserInfo.IsAttention && WeiXinRedEnvelopeProcessor.IsGetInToday(oAuthUserInfo.OpenId, sendCode, true, orderId)) { this.Page.Response.Redirect("/Vshop/RedEnvelopePrompt", true); } else { this.Page.Response.Redirect("/Vshop/RedEnvelopeFinish", true); } } if (WeiXinRedEnvelopeProcessor.IsGetInToday(oAuthUserInfo.OpenId, sendCode, null, orderId)) { this.Page.Response.Redirect("/Vshop/RedEnvelopePrompt", true); } if (WeiXinRedEnvelopeProcessor.GetInTodayCount(oAuthUserInfo.OpenId, "", null, "") >= 3) { this.Page.Response.Redirect("/Vshop/RedEnvelopePrompt", true); } if (!oAuthUserInfo.IsAttention) { if (!WeiXinRedEnvelopeProcessor.IsGetInToday(oAuthUserInfo.OpenId, sendCode, null, "")) { WeiXinRedEnvelopeProcessor.AddRedEnvelopeGetRecord(redEnvelopeGetRecord); this.AddCouponItemInfo(oAuthUserInfo, redEnvelopeGetRecord); } RedEnvelopeSendRecord redEnvelopeSendRecord = WeiXinRedEnvelopeProcessor.GetRedEnvelopeSendRecord(Guid.Parse(text), "", ""); this.Page.Response.Redirect($"AttentionHNYSJY?SendRecordId={redEnvelopeSendRecord.Id}", true); } else { string openId = oAuthUserInfo.OpenId; if (WeiXinRedEnvelopeProcessor.CheckRedEnvelopeGetRecordNoAttentionIsExist(openId)) { WeiXinRedEnvelopeProcessor.SetRedEnvelopeGetRecordToAttention(oAuthUserInfo.NickName, oAuthUserInfo.HeadImageUrl, openId); } else { WeiXinRedEnvelopeProcessor.AddRedEnvelopeGetRecord(redEnvelopeGetRecord); this.AddCouponItemInfo(oAuthUserInfo, redEnvelopeGetRecord); } } } this.redEnvelopeAmount = (Literal)this.FindControl("RedEnvelopeAmount"); this.redEnvelopeAmount.Text = (flag ? ((lastRedEnvelopeGetRecord != null) ? lastRedEnvelopeGetRecord.Amount.F2ToString("f2") : "0") : redEnvelopeGetRecord.Amount.F2ToString("f2")); this.rptRedEnvelopeGetRecord = (WapTemplatedRepeater)this.FindControl("rptRedEnvelopeGetRecord"); this.RedEnvelopeGetRecordBind(text); }
protected override void AttachChildControls() { int num = 0; PageTitle.AddSiteNameTitle("申请提现"); this.lblBanlance = (Literal)this.FindControl("lblBanlance"); this.lblLastDrawTime = (Literal)this.FindControl("lblLastDrawTime"); this.lblminDraws = (Literal)this.FindControl("lblminDraws"); this.CanDrawRequestType = (HtmlInputHidden)this.FindControl("CanDrawRequestType"); this.requestBalance = (HtmlInputHidden)this.FindControl("requestBalance"); if (!this.Page.IsPostBack) { MemberInfo user = HiContext.Current.User; if (!user.IsOpenBalance) { this.Page.Response.Redirect(string.Format("/{1}/OpenBalance?ReturnUrl={0}", HttpContext.Current.Request.Url, HiContext.Current.GetClientPath)); } if (string.IsNullOrEmpty(user.TradePassword)) { this.Page.Response.Redirect(string.Format("/{1}/OpenBalance?ReturnUrl={0}", HttpContext.Current.Request.Url, HiContext.Current.GetClientPath)); } SiteSettings masterSettings = SettingsManager.GetMasterSettings(); if (this.lblminDraws != null) { this.lblminDraws.Text = masterSettings.MinimumSingleShot.F2ToString("f2"); } if (this.lblBanlance != null) { this.lblBanlance.Text = MemberProcessor.GetUserUseSplittin(HiContext.Current.UserId).F2ToString("f2"); } if (this.lblLastDrawTime != null) { SplittinDrawInfo myRecentlySplittinDraws = MemberProcessor.GetMyRecentlySplittinDraws(); if (myRecentlySplittinDraws != null) { this.lblLastDrawTime.Text = myRecentlySplittinDraws.RequestDate.ToString("yyyy-MM-dd HH:mm:ss"); if (myRecentlySplittinDraws.AuditStatus == 1) { this.requestBalance.Value = "1"; } } else { this.lblLastDrawTime.Text = "您还没有提现记录"; } } bool flag = masterSettings.EnableBulkPaymentWeixin; bool enableBulkPaymentAliPay = masterSettings.EnableBulkPaymentAliPay; if (masterSettings.EnableBulkPaymentWeixin) { if (user.MemberOpenIds == null) { flag = false; } else { MemberOpenIdInfo memberOpenIdInfo = user.MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin"); if (memberOpenIdInfo == null) { flag = false; } } } if (masterSettings.SplittinDraws_CashToDeposit) { num++; } if (masterSettings.SplittinDraws_CashToBankCard) { num += 2; } if (flag && masterSettings.SplittinDraws_CashToWeiXin) { num += 4; } if (enableBulkPaymentAliPay && masterSettings.SplittinDraws_CashToALiPay) { num += 8; } this.CanDrawRequestType.Value = num.ToString(); } }
private string sendGoods(HttpContext context) { string text = context.Request["OrderNO"].Trim(); string text2 = context.Request["SndStyle"].Trim(); string text3 = context.Request["BillID"].Trim(); IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary.Add("OrderId", text); dictionary.Add("SndStyle", text2); dictionary.Add("BillID", text3); dictionary.Add("ErrorMsg", ""); if (text.IndexOf(',') > 0) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{不支持合并发货,请选择单个订单}]]></Cause></Rsp>"); } OrderInfo orderInfo = OrderHelper.GetOrderInfo(text); if (orderInfo == null) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{未找到此订单}]]></Cause></Rsp>"); } if (orderInfo.OrderStatus == OrderStatus.WaitBuyerPay && OrderHelper.NeedUpdateStockWhenSendGoods(orderInfo) && !OrderHelper.CheckStock(orderInfo)) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{订单有商品库存不足,请补充库存后发货!}]]></Cause></Rsp>"); } if (orderInfo.GroupBuyId > 0 && orderInfo.GroupBuyStatus != GroupBuyStatus.Success) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{当前订单为团购订单,团购活动还未成功结束,所以不能发货!}]]></Cause></Rsp>"); } if (!orderInfo.CheckAction(OrderActions.SELLER_SEND_GOODS)) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{当前订单状态没有付款或不是等待发货的订单,所以不能发货!}]]></Cause></Rsp>"); } if (string.IsNullOrEmpty(text3.Trim()) || text3.Trim().Length > 20) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{运单号码不能为空,在1至20个字符之间!}]]></Cause></Rsp>"); } ExpressCompanyInfo expressCompanyInfo = ExpressHelper.FindNodeLikeName(text2); if (expressCompanyInfo != null) { orderInfo.ExpressCompanyAbb = expressCompanyInfo.Kuaidi100Code; orderInfo.ExpressCompanyName = expressCompanyInfo.Name; } else { orderInfo.ExpressCompanyAbb = ""; orderInfo.ExpressCompanyName = text2; } orderInfo.ShipOrderNumber = text3; if (!string.IsNullOrEmpty(orderInfo.OuterOrderId) && orderInfo.OuterOrderId.StartsWith("jd_") && (expressCompanyInfo == null || string.IsNullOrWhiteSpace(expressCompanyInfo.JDCode))) { return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{此订单是京东订单,所选物流公司不被京东支持!}]]></Cause></Rsp>"); } if (OrderHelper.SendAPIGoods(orderInfo, true)) { string text4 = ""; if (orderInfo.Gateway == "hishop.plugins.payment.weixinrequest") { try { SiteSettings masterSettings = SettingsManager.GetMasterSettings(); PayClient payClient = new PayClient(masterSettings.WeixinAppId, masterSettings.WeixinAppSecret, masterSettings.WeixinPartnerID, masterSettings.WeixinPartnerKey, masterSettings.WeixinPaySignKey, "", "", ""); DeliverInfo deliverInfo = new DeliverInfo(); deliverInfo.TransId = orderInfo.GatewayOrderId; deliverInfo.OutTradeNo = orderInfo.OrderId; MemberOpenIdInfo memberOpenIdInfo = Users.GetUser(orderInfo.UserId).MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin"); if (memberOpenIdInfo != null) { deliverInfo.OpenId = memberOpenIdInfo.OpenId; } payClient.DeliverNotify(deliverInfo); } catch (Exception ex) { dictionary["ErrrorMsg"] = "同步微信支付发货状态失败"; Globals.WriteExceptionLog(ex, dictionary, "APISendGoods"); } } else { if (!string.IsNullOrEmpty(orderInfo.GatewayOrderId) && orderInfo.GatewayOrderId.Trim().Length > 0) { try { PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode(orderInfo.Gateway); if (paymentMode != null && !string.IsNullOrEmpty(paymentMode.Settings)) { string hIGW = paymentMode.Gateway.Replace(".", "_"); PaymentRequest paymentRequest = PaymentRequest.CreateInstance(paymentMode.Gateway, HiCryptographer.Decrypt(paymentMode.Settings), orderInfo.PayOrderId, orderInfo.GetTotal(false), "订单发货", "订单号-" + orderInfo.PayOrderId, orderInfo.EmailAddress, orderInfo.OrderDate, Globals.FullPath(""), Globals.FullPath(RouteConfig.GetRouteUrl(HttpContext.Current, "PaymentReturn_url", new { HIGW = hIGW })), Globals.FullPath(RouteConfig.GetRouteUrl(HttpContext.Current, "PaymentNotify_url", new { HIGW = hIGW })), ""); paymentRequest.SendGoods(orderInfo.GatewayOrderId, orderInfo.RealModeName, orderInfo.ShipOrderNumber, "EXPRESS"); } } catch (Exception ex2) { dictionary["ErrrorMsg"] = "同步支付接口发货状态失败"; Globals.WriteExceptionLog(ex2, dictionary, "APISendGoods"); } } if (!string.IsNullOrEmpty(orderInfo.OuterOrderId)) { if (orderInfo.OuterOrderId.StartsWith("tb_")) { string text5 = orderInfo.OuterOrderId.Replace("tb_", ""); try { string requestUriString = $"http://order2.kuaidiangtong.com/UpdateShipping.ashx?tid={text5}&companycode={expressCompanyInfo.TaobaoCode}&outsid={orderInfo.ShipOrderNumber}&Host={HiContext.Current.SiteUrl}"; WebRequest webRequest = WebRequest.Create(requestUriString); webRequest.GetResponse(); } catch (Exception ex3) { dictionary["ErrrorMsg"] = "同步淘宝发货状态失败"; Globals.WriteExceptionLog(ex3, dictionary, "APISendGoods"); } } else if (orderInfo.OuterOrderId.StartsWith("jd_")) { string text5 = orderInfo.OuterOrderId.Replace("jd_", ""); try { SiteSettings masterSettings2 = SettingsManager.GetMasterSettings(); JDHelper.JDOrderOutStorage(masterSettings2.JDAppKey, masterSettings2.JDAppSecret, masterSettings2.JDAccessToken, expressCompanyInfo.JDCode, orderInfo.ShipOrderNumber, text5); } catch (Exception ex4) { dictionary["ErrrorMsg"] = "同步京东发货失败"; Globals.WriteExceptionLog(ex4, dictionary, "APISendGoods"); text4 = $"同步京东发货失败,京东订单号:{text5},{ex4.Message}\r\n"; } } } } MemberInfo user = Users.GetUser(orderInfo.UserId); Messenger.OrderShipping(orderInfo, user); orderInfo.OnDeliver(); return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>1</Result><Cause></Cause></Rsp>"); } return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{发货失败,可能是商品库存不足,订单中有商品正在退货、换货状态!}]]></Cause></Rsp>"); }
public UserMemberInfo Register(string username, string password, string serviceProvider, string openId, string headImage = null, long introducer = 0L, string nickname = null, string unionid = null) { if (string.IsNullOrWhiteSpace(serviceProvider)) { throw new ArgumentNullException("信任登录提供商不能为空"); } if (string.IsNullOrWhiteSpace(openId)) { throw new ArgumentNullException("openId不能为空"); } CheckOpenIdHasBeenUsed(serviceProvider, openId, 0); if (string.IsNullOrWhiteSpace(username)) { throw new ArgumentNullException("用户名不能为空"); } if (CheckMemberExist(username)) { throw new HimallException(string.Concat("用户名 ", username, " 已经被其它会员注册")); } if (string.IsNullOrWhiteSpace(password)) { throw new ArgumentNullException("密码不能为空"); } password = password.Trim(); UserMemberInfo userMemberInfo = new UserMemberInfo() { UserName = username }; Guid guid = Guid.NewGuid(); userMemberInfo.PasswordSalt = guid.ToString("N").Substring(12); userMemberInfo.CreateDate = DateTime.Now; userMemberInfo.LastLoginDate = DateTime.Now; userMemberInfo.Nick = (string.IsNullOrWhiteSpace(nickname) ? username : nickname); UserMemberInfo nullable = userMemberInfo; if (introducer != 0) { nullable.InviteUserId = new long?(introducer); } if (nullable.UserType == 3) { nullable.InviteUserId = 1; } using (TransactionScope transactionScope = new TransactionScope()) { nullable.Password = GetPasswrodWithTwiceEncode(password, nullable.PasswordSalt); nullable = context.UserMemberInfo.Add(nullable); context.SaveChanges(); MemberOpenIdInfo memberOpenIdInfo = new MemberOpenIdInfo() { UserId = nullable.Id, OpenId = openId, ServiceProvider = serviceProvider, UnionId = (string.IsNullOrWhiteSpace(unionid) ? string.Empty : unionid) }; context.MemberOpenIdInfo.Add(memberOpenIdInfo); context.SaveChanges(); if (!string.IsNullOrWhiteSpace(headImage)) { nullable.Photo = TransferHeadImage(headImage, nullable.Id); } context.SaveChanges(); transactionScope.Complete(); } return(nullable); }
public JsonResult Get(string orderIds) { string str; IEnumerable <Plugin <IPaymentPlugin> > plugins = from item in PluginsManagement.GetPlugins <IPaymentPlugin>(true) where item.Biz.SupportPlatforms.Contains <Himall.Core.PlatformType>(base.PlatformType) select item; string scheme = base.Request.Url.Scheme; string host = base.HttpContext.Request.Url.Host; if (base.HttpContext.Request.Url.Port == 80) { str = ""; } else { int port = base.HttpContext.Request.Url.Port; str = string.Concat(":", port.ToString()); } string str1 = string.Concat(scheme, "://", host, str); object[] platformType = new object[] { str1, "/m-", base.PlatformType, "/Payment/" }; string str2 = string.Concat(platformType); IOrderService orderService = ServiceHelper.Create <IOrderService>(); IOrderService orderService1 = orderService; char[] chrArray = new char[] { ',' }; IEnumerable <OrderInfo> list = orderService1.GetOrders( from t in orderIds.Split(chrArray) select long.Parse(t)).ToList(); decimal num = list.Sum <OrderInfo>((OrderInfo t) => t.OrderTotalAmount); string productNameDescriptionFromOrders = GetProductNameDescriptionFromOrders(list); string cookie = WebHelper.GetCookie("Himall-User_OpenId"); if (string.IsNullOrWhiteSpace(cookie)) { MemberOpenIdInfo memberOpenIdInfo = ServiceHelper.Create <IMemberService>().GetMember(base.CurrentUser.Id).MemberOpenIdInfo.FirstOrDefault((MemberOpenIdInfo item) => item.AppIdType == MemberOpenIdInfo.AppIdTypeEnum.Payment); if (memberOpenIdInfo != null) { cookie = memberOpenIdInfo.OpenId; } } else { cookie = SecureHelper.AESDecrypt(cookie, "Mobile"); } string[] strArrays = orderIds.Split(new char[] { ',' }); string str3 = string.Concat(str2, "Notify/"); object[] objArray = new object[] { str1, "/m-", base.PlatformType, "/Member/PaymentToOrders?ids=", orderIds }; string str4 = string.Concat(objArray); IEnumerable <OrderPayInfo> orderPayInfo = from item in strArrays select new OrderPayInfo() { PayId = 0, OrderId = long.Parse(item) }; string str5 = orderService.SaveOrderPayInfo(orderPayInfo, Himall.Core.PlatformType.PC).ToString(); var collection = plugins.ToArray <Plugin <IPaymentPlugin> >().Select((Plugin <IPaymentPlugin> item) => { string empty = string.Empty; try { empty = item.Biz.GetRequestUrl(str4, string.Concat(str3, item.PluginInfo.PluginId.Replace(".", "-")), str5, num, productNameDescriptionFromOrders, cookie); } catch (Exception exception) { Log.Error("获取支付方式错误:", exception); } return(new { id = item.PluginInfo.PluginId, name = item.PluginInfo.DisplayName, logo = item.Biz.Logo, url = empty }); }); collection = from item in collection where !string.IsNullOrWhiteSpace(item.url) select item; return(Json(collection)); }