/// <summary> /// 收入 --添加用户成长值 /// 返回用户vip等级 /// </summary> public int Payin_UserGrowth(string category, string orderId, string userId, int userGrowth, string summary) { if (userGrowth <= 0) { return(0); } var balanceManager = new LocalLoginBusiness(); //var fundManager = new FundManager(); var user = balanceManager.GetRegisterById(userId); var userBalance = balanceManager.QueryUserBalanceInfo(userId); var Fund_UserGrowthDetail = new C_Fund_UserGrowthDetail() { OrderId = orderId, UserId = userId, Category = category, CreateTime = DateTime.Now, BeforeBalance = userBalance.UserGrowth, PayMoney = userGrowth, PayType = (int)PayType.Payin, Summary = summary, AfterBalance = userBalance.UserGrowth + userGrowth, }; DB.GetDal <C_Fund_UserGrowthDetail>().Add(Fund_UserGrowthDetail); var payDetailList = new List <PayDetail>(); payDetailList.Add(new PayDetail { AccountType = AccountType.UserGrowth, PayMoney = userGrowth, PayType = PayType.Payin, }); var vipLevel = GetUserVipLevel(userBalance.UserGrowth + userGrowth); //更新成长值 //userBalance.UserGrowth += userGrowth; //balanceManager.UpdateUserBalance(userBalance); PayToUserBalance(userId, payDetailList.ToArray()); if (user.VipLevel < vipLevel) { for (int i = user.VipLevel + 1; i <= vipLevel; i++) { //达到相应等级赠送红包 if (new int[] { 3, 4, 5, 6 }.Contains(i)) { var redBag = 0M; switch (i) { case 3: redBag = 2M; break; case 4: redBag = 10M; break; case 5: redBag = 20M; break; case 6: redBag = 88M; break; default: break; } if (redBag > 0M) { Payin_To_Balance(AccountType.RedBag, FundCategory_UserLevelUp, userId, orderId, redBag, string.Format("用户等级提升到{0}级", i), RedBagCategory.UserUpLevel); } } } //修改vip等级 user.VipLevel = vipLevel; DB.GetDal <C_User_Register>().Update(user); } return(user.VipLevel); }
public void RegisterUser(SystemUser user, UserRegInfo regInfo) { DB.Begin(); try { var loginBiz = new LocalLoginBusiness(); var register = new C_User_Register { DisplayName = regInfo.DisplayName, ComeFrom = regInfo.ComeFrom, RegType = regInfo.RegType, RegisterIp = regInfo.RegisterIp, Referrer = regInfo.Referrer, ReferrerUrl = regInfo.ReferrerUrl, IsEnable = true, IsAgent = false, IsFillMoney = false, AgentId = regInfo.AgentId, CreateTime = DateTime.Now, VipLevel = 0, UserId = user.UserId, }; try { if (!string.IsNullOrEmpty(regInfo.AgentId)) { var agentUser = loginBiz.GetRegisterById(regInfo.AgentId); if (agentUser != null) { register.ParentPath = agentUser.ParentPath + "/" + agentUser.UserId; } } } catch { } var AuthUser = new C_Auth_Users { UserId = user.UserId, RegFrom = user.RegFrom, AgentId = regInfo.AgentId, CreateTime = DateTime.Now, }; DB.GetDal <C_User_Register>().Add(register); DB.GetDal <C_Auth_Users>().Add(AuthUser); var balance = new C_User_Balance { BonusBalance = 0M, FreezeBalance = 0M, CommissionBalance = 0M, ExpertsBalance = 0M, FillMoneyBalance = 0M, RedBagBalance = 0M, CurrentDouDou = 0, UserGrowth = 0, IsSetPwd = false, NeedPwdPlace = string.Empty, Password = string.Empty, UserId = user.UserId, Version = 0, AgentId = regInfo.AgentId, }; DB.GetDal <C_User_Balance>().Add(balance); DB.Commit(); } catch (Exception ex) { DB.Rollback(); throw ex; } }