示例#1
0
 public UserMobile GetAuthenticatedMobile(string userId)
 {
     using (var manager = new UserMobileManager())
     {
         var Mobile = manager.GetUserMobile(userId);
         return(Mobile);
     }
 }
示例#2
0
 /// <summary>
 /// 检查手机是否绑定
 /// </summary>
 /// <returns></returns>
 public bool IsMobileBinded(string userId, string mobile)
 {
     using (var manager = new UserMobileManager())
     {
         var other = manager.GetOtherUserMobile(mobile, userId);
         if (other != null && other.IsSettedMobile)
         {
             return(true);
         }
         return(false);
     }
 }
示例#3
0
 public bool CheckMobileIsBind(string mobile)
 {
     using (var manager = new UserMobileManager())
     {
         var mobileEntity = manager.GetMobileInfoByMobile(mobile);
         if (mobileEntity != null && mobileEntity.Mobile == mobile)
         {
             return(true);
         }
         return(false);
     }
 }
示例#4
0
 /// <summary>
 /// 手机号是否已注册
 /// </summary>
 /// <param name="mobile"></param>
 /// <returns></returns>
 public bool HasMobile(string mobile)
 {
     using (var manager = new UserMobileManager())
     {
         var model = manager.GetMobileInfoByMobile(mobile);
         if (model == null)
         {
             return(false);
         }
         return(true);
     }
 }
示例#5
0
        /// <summary>
        /// 交换手机认证
        /// </summary>
        public void SwapMobileAuthen(string fromUserId, string toUserId, string updateBy)
        {
            //开启事务
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var manager    = new UserMobileManager();
                var fromEntity = manager.GetUserMobile(fromUserId);
                if (fromEntity == null)
                {
                    throw new ArgumentException(fromUserId + "从未进行过手机认证");
                }
                fromEntity.IsSettedMobile = false;
                fromEntity.UpdateBy       = updateBy;
                fromEntity.UpdateTime     = DateTime.Now;
                manager.UpdateUserMobile(fromEntity);

                var toEntity = manager.GetUserMobile(toUserId);
                if (toEntity != null)
                {
                    toEntity.Mobile         = fromEntity.Mobile;
                    toEntity.IsSettedMobile = true;
                    toEntity.RequestTimes   = 0;
                    toEntity.UpdateBy       = updateBy;
                    toEntity.UpdateTime     = DateTime.Now;
                }
                else
                {
                    var toUser = manager.LoadUser(toUserId);
                    if (toUser == null)
                    {
                        throw new ArgumentException(toUserId + "不存在");
                    }
                    manager.AddUserMobile(new UserMobile
                    {
                        UserId         = toUserId,
                        User           = toUser,
                        AuthFrom       = fromEntity.AuthFrom,
                        IsSettedMobile = true,
                        Mobile         = fromEntity.Mobile,
                        RequestTimes   = 0,
                        CreateBy       = updateBy,
                        UpdateBy       = updateBy,
                        CreateTime     = DateTime.Now,
                        UpdateTime     = DateTime.Now,
                    });
                }

                biz.CommitTran();
            }
        }
示例#6
0
 // 根据手机号查询手机号是否存在
 public void RequestAuthenticationMobileIndex(string mobile)
 {
     using (var biz = new GameBiz.Business.GameBizBusinessManagement())
     {
         biz.BeginTran();
         using (var manager = new UserMobileManager())
         {
             var other = manager.GetOtherUserMobileIndex(mobile);
             if (other != null && other.IsSettedMobile)
             {
                 throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
             }
         }
         biz.CommitTran();
     }
 }
示例#7
0
        /// <summary>
        /// 注销手机认证
        /// </summary>
        public void LogOffMobileAuthen(string userId)
        {
            //开启事务
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var manager = new UserMobileManager();
                var entity  = manager.GetUserMobile(userId);
                if (entity == null)
                {
                    throw new ArgumentException("此用户从未进行过手机认证");
                }
                manager.DeleteUserMobile(entity);

                biz.CommitTran();
            }
        }
示例#8
0
        public void CancelAuthenticationMobile(string userId)
        {
            using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            {
                biz.BeginTran();
                using (var manager = new UserMobileManager())
                {
                    var entity = manager.GetUserMobile(userId);
                    if (entity == null)
                    {
                        throw new ArgumentException("此用户从未进行过手机认证");
                    }
                    entity.IsSettedMobile = false;

                    manager.UpdateUserMobile(entity);
                }
                biz.CommitTran();
            }
        }
示例#9
0
 /// <summary>
 /// 手机认证,重发验证码或更换号码
 /// </summary>
 public void RepeatRequestMobile(string userId, string mobile, string createUserId)
 {
     using (var manager = new UserMobileManager())
     {
         if (string.IsNullOrEmpty(userId))
         {
             throw new Exception("未查询到用户编号");
         }
         else if (string.IsNullOrEmpty(mobile))
         {
             throw new Exception("手机号码不能为空");
         }
         //var entity = manager.GetUserMobile(userId);
         var other = manager.GetMobileInfoByMobile(mobile);
         if (other != null && other.IsSettedMobile && other.UserId != userId)
         {
             throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
         }
         var entity = manager.GetUserMobile(userId);
         if (entity != null)
         {
             entity.IsSettedMobile = false;
             entity.UpdateBy       = createUserId;
             entity.RequestTimes++;
             entity.Mobile = mobile;
             manager.UpdateUserMobile(entity);
         }
         else
         {
             entity = new UserMobile
             {
                 UserId         = userId,
                 User           = manager.LoadUser(userId),
                 AuthFrom       = "LOCAL",
                 Mobile         = mobile,
                 IsSettedMobile = false,
                 CreateBy       = createUserId,
                 UpdateBy       = createUserId,
             };
             manager.AddUserMobile(entity);
         }
     }
 }
示例#10
0
 public void RegisterRequestMobile(string mobile)
 {
     using (var manager = new UserMobileManager())
     {
         var other = manager.GetMobileInfoByMobile(mobile);
         if (other != null && other.IsSettedMobile)
         {
             throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户注册。", mobile));
         }
         //var entity = manager.GetUserMobile(userId);
         //if (entity != null)
         //{
         //    if (!string.IsNullOrEmpty(entity.Mobile) && entity.IsSettedMobile)
         //    {
         //        throw new ArgumentException(string.Format("已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证。", entity.UpdateTime));
         //    }
         //    if (entity.RequestTimes >= maxRequestTime)
         //    {
         //        throw new ArgumentException(string.Format("已请求最大限制次数【{0}】次还未成功认证,请联系客服。", maxRequestTime));
         //    }
         //    if (mobile != entity.Mobile)
         //    {
         //        entity.Mobile = mobile;
         //        manager.UpdateUserMobile(entity);
         //    }
         //}
         //else
         //{
         //    entity = new UserMobile
         //    {
         //        UserId = userId,
         //        User = manager.LoadUser(userId),
         //        AuthFrom = "LOCAL",
         //        Mobile = mobile,
         //        IsSettedMobile = false,
         //        CreateBy = createBy,
         //        UpdateBy = createBy,
         //    };
         //    manager.AddUserMobile(entity);
         //}
     }
 }
示例#11
0
 public UserMobileInfo QueryMobileByUserId(string userId)
 {
     using (var manager = new UserMobileManager())
     {
         UserMobileInfo info   = new UserMobileInfo();
         var            Mobile = manager.GetUserMobile(userId);
         if (Mobile == null)
         {
             return(info);
         }
         info.AuthFrom       = Mobile.AuthFrom;
         info.CreateBy       = Mobile.CreateBy;
         info.CreateTime     = Mobile.CreateTime;
         info.IsSettedMobile = Mobile.IsSettedMobile;
         info.Mobile         = Mobile.Mobile;
         info.RequestTimes   = Mobile.RequestTimes;
         info.UserId         = Mobile.UserId;
         return(info);
     }
 }
示例#12
0
        public UserQueryInfo QueryUserByUserName(string userName, string agentId)
        {
            var userManager = new UserBalanceManager();
            var reg         = userManager.QueryUserRegisterByUserName(userName);

            if (reg == null)
            {
                throw new Exception("用户不存在");
            }
            if (string.IsNullOrEmpty(reg.AgentId) || reg.AgentId != agentId)
            {
                throw new Exception(string.Format("用户{0}不属于您发展的用户", userName));
            }

            var balance = userManager.QueryUserBalance(reg.UserId);

            if (balance == null)
            {
                throw new Exception("用户账户不存在");
            }

            var realNameManager = new UserRealNameManager();
            var real            = realNameManager.GetUserRealName(reg.UserId);

            var mobileManagr = new UserMobileManager();
            var mobile       = mobileManagr.GetUserMobile(reg.UserId);

            var fundManger         = new FundManager();
            var agentFreezeBalance = fundManger.QueryAgentFreezeBalanceByUserId(reg.UserId);
            var caibbFreezeBalance = 0M;

            if (balance.FreezeBalance > 0)
            {
                caibbFreezeBalance = balance.FreezeBalance - agentFreezeBalance;//网站冻结资金=总冻结资金-代理冻结资金;
            }
            return(new UserQueryInfo
            {
                DisplayName = reg.DisplayName,
                UserId = reg.UserId,
                RealName = real == null ? string.Empty : real.RealName,
                IdCardNumber = real == null ? string.Empty : real.IdCardNumber,
                Mobile = mobile == null ? string.Empty : mobile.Mobile,
                FillMoneyBalance = balance.FillMoneyBalance,
                BonusBalance = balance.BonusBalance,
                CommissionBalance = balance.CommissionBalance,
                ExpertsBalance = balance.ExpertsBalance,
                RedBagBalance = balance.RedBagBalance,
                FreezeBalance = caibbFreezeBalance,
                IsEnable = reg.IsEnable,
                AgentId = reg.AgentId,
                IsAgent = reg.IsAgent,
                CardType = "",
                ComeFrom = reg.ComeFrom,
                Email = "",
                IsFillMoney = reg.IsFillMoney,
                IsSettedEmail = true,
                IsSettedMobile = mobile == null ? false : mobile.IsSettedMobile,
                IsSettedRealName = real == null ? false : real.IsSettedRealName,
                RegisterIp = reg.RegisterIp,
                RegTime = reg.CreateTime,
                VipLevel = reg.VipLevel,
                CurrentDouDou = balance.CurrentDouDou,
            });
        }
示例#13
0
        public UserQueryInfo QueryUserByKey(string userId, string agentId)
        {
            var userManager = new UserBalanceManager();
            var reg         = userManager.QueryUserRegister(userId);

            if (reg == null)
            {
                throw new Exception("用户不存在");
            }
            if (!string.IsNullOrEmpty(agentId) && reg.AgentId != agentId)
            {
                throw new Exception(string.Format("用户{0}不属于您发展的用户", userId));
            }

            var balance = userManager.QueryUserBalance(userId);

            if (balance == null)
            {
                throw new Exception("用户账户不存在");
            }

            var realNameManager = new UserRealNameManager();
            var real            = realNameManager.GetUserRealName(userId);

            //var apliy = new AlipayLoginInfo();
            //var apliyCount = apliy.ApliyCount;
            var mobileManagr = new UserMobileManager();
            var mobile       = mobileManagr.GetUserMobile(userId);

            var fundManger         = new FundManager();
            var agentFreezeBalance = fundManger.QueryAgentFreezeBalanceByUserId(userId);
            var caibbFreezeBalance = 0M;

            if (balance.FreezeBalance > 0)
            {
                caibbFreezeBalance = balance.FreezeBalance - agentFreezeBalance;//网站冻结资金=总冻结资金-代理冻结资金;
            }
            var userAlipayManager = new UserAlipayManager();
            var userAlipy         = userAlipayManager.GetUserAlipay(userId);


            var userQQManager = new UserQQManager();
            var userQQ        = userQQManager.GetUserQQ(userId);

            var ocAgentManager = new OCAgentManager();
            var ocAgent        = ocAgentManager.QueryOCAgent(userId);

            return(new UserQueryInfo
            {
                DisplayName = reg.DisplayName,
                UserId = reg.UserId,
                RealName = real == null ? string.Empty : real.RealName,
                IdCardNumber = real == null ? string.Empty : real.IdCardNumber,
                Mobile = mobile == null ? string.Empty : mobile.Mobile,
                FillMoneyBalance = balance.FillMoneyBalance,
                BonusBalance = balance.BonusBalance,
                CommissionBalance = balance.CommissionBalance,
                ExpertsBalance = balance.ExpertsBalance,
                RedBagBalance = balance.RedBagBalance,
                FreezeBalance = caibbFreezeBalance,
                IsEnable = reg.IsEnable,
                AgentId = reg.AgentId,
                IsAgent = reg.IsAgent,
                CardType = "",
                ComeFrom = reg.ComeFrom,
                Email = "",
                IsFillMoney = reg.IsFillMoney,
                IsSettedEmail = true,
                IsSettedMobile = mobile == null ? false : mobile.IsSettedMobile,
                IsSettedRealName = real == null ? false : real.IsSettedRealName,
                RegisterIp = reg.RegisterIp,
                RegTime = reg.CreateTime,
                VipLevel = reg.VipLevel,
                CurrentDouDou = balance.CurrentDouDou,
                ApliyCount = userAlipy == null ? string.Empty : userAlipy.AlipayAccount,
                QQNumber = userQQ == null ? string.Empty : userQQ.QQ,
                CPSMode = ocAgent == null ? 0 : ocAgent.CPSMode,
                UserGrowth = balance.UserGrowth,
                CPSBalance = balance.CPSBalance
            });
        }
示例#14
0
        public void AddAuthenticationMobile(string authFrom, string userId, string mobile, string createBy)
        {
            #region

            //using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            //{
            //    biz.BeginTran();

            //using (var manager = new UserMobileManager())
            //{
            //    var other = manager.GetOtherUserMobile(mobile, userId);
            //    if (other != null && other.IsSettedMobile)//判断手机号码的唯一性
            //    {
            //        throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
            //    }
            //    var entity = manager.GetUserMobile(userId);
            //    if (entity != null && !string.IsNullOrEmpty(entity.Mobile) && !entity.IsSettedMobile)
            //    {
            //        entity.Mobile = mobile;
            //        entity.IsSettedMobile = true;
            //        manager.UpdateUserMobile(entity);
            //        //throw new ArgumentException(string.Format("此用户已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证", entity.CreateTime));
            //    }
            //    else
            //    {
            //        if (entity == null)
            //        {
            //            entity = new UserMobile
            //            {
            //                UserId = userId,
            //                User = manager.LoadUser(userId),
            //                AuthFrom = authFrom,
            //                Mobile = mobile,
            //                IsSettedMobile = true,
            //                CreateBy = createBy,
            //                UpdateBy = createBy,
            //            };
            //            manager.AddUserMobile(entity);
            //        }
            //        else
            //            throw new ArgumentException(string.Format("此用户已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证", entity.CreateTime));
            //    }
            //}

            //    biz.CommitTran();
            //}
            #endregion

            using (var manager = new UserMobileManager())
            {
                var mobileInfo = manager.GetMobileInfoByMobile(mobile);
                if (mobileInfo != null && !string.IsNullOrEmpty(mobileInfo.Mobile) && mobileInfo.UserId != userId)
                {
                    throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
                }
                if (mobileInfo != null && !string.IsNullOrEmpty(mobileInfo.Mobile) && !mobileInfo.IsSettedMobile)
                {
                    //mobileInfo.UserId = userId;
                    mobileInfo.UpdateBy       = userId;
                    mobileInfo.UpdateTime     = DateTime.Now;
                    mobileInfo.Mobile         = mobile;
                    mobileInfo.IsSettedMobile = true;
                    manager.UpdateUserMobile(mobileInfo);
                }
                else
                {
                    if (mobileInfo == null)
                    {
                        mobileInfo = new UserMobile
                        {
                            UserId         = userId,
                            User           = manager.LoadUser(userId),
                            AuthFrom       = authFrom,
                            Mobile         = mobile,
                            IsSettedMobile = true,
                            CreateBy       = createBy,
                            UpdateBy       = createBy,
                        };
                        manager.AddUserMobile(mobileInfo);
                    }
                    else
                    {
                        throw new ArgumentException(string.Format("此用户已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证", mobileInfo.CreateTime));
                    }
                }
            }
        }
示例#15
0
        public string RegisterResponseMobile(string userId, string mobile, int delaySeconds, string delayDescription)
        {
            using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            {
                biz.BeginTran();

                var gv  = new TaskListManager();
                var old = gv.QueryTaskListByCategory(userId, TaskCategory.MobilBinding);
                if (old == null)
                {
                    //增加成长值
                    var orderId = Guid.NewGuid().ToString("N");
                    BusinessHelper.Payin_UserGrowth("绑定手机号", orderId, userId, 100, "完成手机号绑定可获得100点成长值");
                    gv.AddUserTaskRecord(new UserTaskRecord
                    {
                        CreateTime   = DateTime.Now,
                        CurrentTime  = DateTime.Now.ToString("yyyyMMdd"),
                        OrderId      = orderId,
                        TaskCategory = TaskCategory.MobilBinding,
                        TaskName     = "绑定手机号",
                        UserId       = userId,
                    });
                    gv.AddTaskList(new TaskList
                    {
                        UserId       = userId,
                        OrderId      = orderId,
                        Content      = "完成手机号绑定可获得100点成长值",
                        ValueGrowth  = 100,
                        IsGive       = true,
                        VipLevel     = 0,
                        CurrentTime  = DateTime.Now.ToString("yyyyMMdd"),
                        TaskCategory = TaskCategory.MobilBinding,
                        TaskName     = "绑定手机号",
                        CreateTime   = DateTime.Now,
                    });
                }

                using (var manager = new UserMobileManager())
                {
                    var entity = manager.GetUserMobile(userId);
                    if (entity != null)
                    {
                        if (entity.IsSettedMobile)
                        {
                            throw new ArgumentException(string.Format("已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证。", entity.UpdateTime));
                        }
                        var span = DateTime.Now - entity.UpdateTime.AddSeconds(delaySeconds);
                        if (span.TotalSeconds > 0)
                        {
                            throw new ArgumentException(string.Format("提交认证手机必须在请求认证后【{0}】内完成。", delayDescription));
                        }
                        entity.IsSettedMobile = true;
                        manager.UpdateUserMobile(entity);
                    }
                    else
                    {
                        entity = new UserMobile
                        {
                            UserId         = userId,
                            User           = manager.LoadUser(userId),
                            AuthFrom       = "LOCAL",
                            Mobile         = mobile,
                            IsSettedMobile = true,
                            CreateBy       = userId,
                            UpdateBy       = userId,
                        };
                        manager.AddUserMobile(entity);
                    }

                    mobile = entity.Mobile;
                }
                biz.CommitTran();
            }
            return(mobile);
        }
示例#16
0
        //首页活动  手机绑定
        public void AddAuthenticationMobile_Index(string authFrom, string userId, string mobile, string createBy)
        {
            using (var manager = new UserMobileManager())
            {
                //var other = manager.GetOtherUserMobile(mobile, userId);
                //if (other != null && other.IsSettedMobile)//判断手机号码的唯一性
                //{
                //    throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
                //}
                var mobileInfo = manager.GetMobileInfoByMobile(mobile);
                if (mobileInfo != null && !string.IsNullOrEmpty(mobileInfo.Mobile) && mobileInfo.UserId != userId)
                {
                    throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
                }
                //var entity = manager.GetUserMobile(userId);
                //if (entity != null && !string.IsNullOrEmpty(entity.Mobile) && !entity.IsSettedMobile)
                //{
                //    entity.Mobile = mobile;
                //    entity.IsSettedMobile = true;
                //    manager.UpdateUserMobile(entity);
                //    //throw new ArgumentException(string.Format("此用户已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证", entity.CreateTime));
                //}
                if (mobileInfo != null && !string.IsNullOrEmpty(mobileInfo.Mobile) && !mobileInfo.IsSettedMobile)
                {
                    //mobileInfo.UserId = userId;
                    mobileInfo.UpdateBy       = userId;
                    mobileInfo.UpdateTime     = DateTime.Now;
                    mobileInfo.Mobile         = mobile;
                    mobileInfo.IsSettedMobile = true;
                    manager.UpdateUserMobile(mobileInfo);
                }
                else
                {
                    if (mobileInfo == null)
                    {
                        mobileInfo = new UserMobile
                        {
                            UserId         = userId,
                            User           = manager.LoadUser(userId),
                            AuthFrom       = authFrom,
                            Mobile         = mobile,
                            IsSettedMobile = true,
                            CreateBy       = createBy,
                            UpdateBy       = createBy,
                        };
                        manager.AddUserMobile(mobileInfo);

                        var gv  = new TaskListManager();
                        var old = gv.QueryTaskListByCategory(userId, TaskCategory.MobilBinding);
                        if (old == null)
                        {
                            //增加成长值
                            var orderId = Guid.NewGuid().ToString("N");
                            BusinessHelper.Payin_UserGrowth("绑定手机号", orderId, userId, 100, "完成手机号绑定可获得100点成长值");
                            gv.AddUserTaskRecord(new UserTaskRecord
                            {
                                CreateTime   = DateTime.Now,
                                CurrentTime  = DateTime.Now.ToString("yyyyMMdd"),
                                OrderId      = orderId,
                                TaskCategory = TaskCategory.MobilBinding,
                                TaskName     = "绑定手机号",
                                UserId       = userId,
                            });
                            gv.AddTaskList(new TaskList
                            {
                                UserId       = userId,
                                OrderId      = orderId,
                                Content      = "完成手机号绑定可获得100点成长值",
                                ValueGrowth  = 100,
                                IsGive       = true,
                                VipLevel     = 0,
                                CurrentTime  = DateTime.Now.ToString("yyyyMMdd"),
                                TaskCategory = TaskCategory.MobilBinding,
                                TaskName     = "绑定手机号",
                                CreateTime   = DateTime.Now,
                            });
                        }
                    }
                    else
                    {
                        throw new ArgumentException(string.Format("此用户已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证", mobileInfo.CreateTime));
                    }
                }
            }
        }
示例#17
0
        public void RequestAuthenticationMobile(string userId, string mobile, int delaySeconds, string delayDescription, int maxRequestTime, string createBy)
        {
            #region
            //using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            //{
            //    biz.BeginTran();
            //    using (var manager = new UserMobileManager())
            //    {
            //        var other = manager.GetOtherUserMobile(mobile, userId);
            //        if (other != null && other.IsSettedMobile)
            //        {
            //            throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
            //        }
            //        var entity = manager.GetUserMobile(userId);
            //        if (entity != null)
            //        {
            //            if (entity.IsSettedMobile && entity.IsSettedMobile)
            //            {
            //                throw new ArgumentException(string.Format("已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证。", entity.UpdateTime));
            //            }
            //            if (entity.RequestTimes >= maxRequestTime)
            //            {
            //                throw new ArgumentException(string.Format("已请求最大限制次数【{0}】次还未成功认证,请联系客服。", maxRequestTime));
            //            }
            //            if (mobile != entity.Mobile)
            //            {
            //                var span = entity.UpdateTime.AddSeconds(delaySeconds) - DateTime.Now;
            //                if (span.TotalSeconds > 0)
            //                {
            //                    throw new ArgumentException(string.Format("换手机号码再次认证必须在【{0}】后进行。", delayDescription));
            //                }
            //            }
            //            entity.IsSettedMobile = true;
            //            entity.UpdateBy = createBy;
            //            entity.RequestTimes++;
            //            entity.Mobile = mobile;

            //            manager.UpdateUserMobile(entity);
            //        }
            //        else
            //        {
            //            entity = new UserMobile
            //            {
            //                UserId = userId,
            //                User = manager.LoadUser(userId),
            //                AuthFrom = "LOCAL",
            //                Mobile = mobile,
            //                IsSettedMobile = false,
            //                CreateBy = createBy,
            //                UpdateBy = createBy,
            //            };
            //            manager.AddUserMobile(entity);
            //        }
            //    }
            //    biz.CommitTran();
            //}
            #endregion

            using (var manager = new UserMobileManager())
            {
                var other = manager.GetMobileInfoByMobile(mobile);
                if (other != null && other.IsSettedMobile && other.UserId != userId)
                {
                    throw new ArgumentException(string.Format("此手机号【{0}】已被其他用户认证。", mobile));
                }
                //var entity = manager.GetUserMobile(userId);
                var entity = manager.GetUserMobile(userId);
                if (entity != null)
                {
                    if (!string.IsNullOrEmpty(entity.Mobile) && entity.IsSettedMobile)
                    {
                        throw new ArgumentException(string.Format("已于【{0:yyyy-MM-dd HH:mm:ss}】进行过手机认证。", entity.UpdateTime));
                    }
                    if (entity.RequestTimes >= maxRequestTime)
                    {
                        throw new ArgumentException(string.Format("已请求最大限制次数【{0}】次还未成功认证,请联系客服。", maxRequestTime));
                    }
                    if (mobile != entity.Mobile)
                    {
                        var span = entity.UpdateTime.AddSeconds(delaySeconds) - DateTime.Now;
                        if (span.TotalSeconds > 0)
                        {
                            throw new ArgumentException(string.Format("换手机号码再次认证必须在【{0}】后进行。", delayDescription));
                        }
                    }
                    entity.IsSettedMobile = true;
                    entity.UpdateBy       = createBy;
                    entity.RequestTimes++;
                    entity.Mobile = mobile;

                    manager.UpdateUserMobile(entity);
                }
                else
                {
                    entity = new UserMobile
                    {
                        UserId         = userId,
                        User           = manager.LoadUser(userId),
                        AuthFrom       = "LOCAL",
                        Mobile         = mobile,
                        IsSettedMobile = false,
                        CreateBy       = createBy,
                        UpdateBy       = createBy,
                    };
                    manager.AddUserMobile(entity);
                }
            }
        }