示例#1
0
        /// <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);
            }
        }
示例#2
0
        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();
        }