/// <summary> /// 更新代理返点的同时更新他的下级返点 /// </summary> public void UpdateLowerAgentRebate(string agentId, string gameCode, string gameType, decimal rebate, int rebateType) { var ocAgentMannger = new OCAgentManager(); var localAgent = new LocalLoginBusiness(); //查询全部下级代理 var agentList = ocAgentMannger.QueryAgentSubUser(agentId); if (agentList == null || agentList.Count == 0) { return; } var keepRebate = decimal.Parse(new CacheDataBusiness().QueryCoreConfigByKey("ReservReturnPoint").ConfigValue); foreach (var agent in agentList) { var agenrRebate = ocAgentMannger.QueryOCAgentDefaultRebateByRebateType(agent.UserId, gameCode, gameType, rebateType); if (agenrRebate == null) { continue; } if (rebate > agenrRebate.Rebate || (rebate == agenrRebate.Rebate && keepRebate == 0M)) { continue; } agenrRebate.Rebate = rebate - keepRebate; agenrRebate.CreateTime = DateTime.Now; ocAgentMannger.UpdateOCAgentRebate(agenrRebate); UpdateLowerAgentRebate(agent.UserId, gameCode, gameType, agenrRebate.Rebate, rebateType); } }
public void RegisterUser(SystemUser user, UserRegInfo regInfo) { DB.Begin(); 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(); }