Esempio n. 1
0
        public ReturnItem <RetUserLoginInfo> UserLogout(string tokenid)
        {
            ReturnItem <RetUserLoginInfo> r = new ReturnItem <RetUserLoginInfo>();

            r.TimerEnd();
            return(r);
        }
Esempio n. 2
0
        /// <summary>
        /// 1.登录方法
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="pws"></param>
        /// <returns>成功返回用户封装好的对象,失败返回Null.</returns>
        public ReturnItem <RetUserLoginInfo> UserLogin(UserLoginModel parameter)
        {
            ReturnItem <RetUserLoginInfo> r = new ReturnItem <RetUserLoginInfo>();

            if (parameter.PassWord.Length < pwsmin)
            {
                return(new ReturnItem <RetUserLoginInfo>()
                {
                    Code = -1, Msg = "密码小于" + pwsmin + "位"
                });
            }
            if (parameter.PassWord.Length > pwsmax)
            {
                return(new ReturnItem <RetUserLoginInfo>()
                {
                    Code = -1, Msg = "密码大于" + pwsmax + "位"
                });
            }
            using (UserEntities user = new UserEntities())
            {
                try
                {
                    var getuserinfo = user.U_User.Where(u => u.AccountId == parameter.UserName).FirstOrDefault();
                    if (getuserinfo == null)
                    {
                        r.Data = null;
                        r.Code = -1;
                        r.Msg  = "未找到该用户";
                        return(r);
                    }
                    var datetime = DateTime.Now.AddHours(-1);
                    if (user.U_UserLoginErrorInfo.Where(ule => ule.UserID == getuserinfo.ID && ule.CreateTime > datetime).Count() >= 5)
                    {
                        r.Data = null;
                        r.Code = -1;
                        r.Msg  = "密码错误5次,请一小时后再试";
                        return(r);
                    }
                    if (getuserinfo != null)
                    {
                        if (getuserinfo.PassWord == parameter.PassWord)
                        {
                            if (getuserinfo.Status != "1")        //1 账号禁用 0 账号启用
                            {
                                if (getuserinfo.LockState != "1") //0 已审核 1 未审核
                                {
                                    try
                                    {
                                        getuserinfo.LastLoginDate = DateTime.Now;
                                        //判断是否为移动端,是则发出推送给最后登录的移动端
                                        if (parameter.LoginType == (int)LoginForm.App)
                                        {
                                            try//推送消息(设备更换 踢设备下线)
                                            {
                                            }
                                            catch
                                            {
                                                //推送出错 日志模块未启用.暂时为空
                                            }
                                        }
                                        var newtoken = GetNewToken(getuserinfo.ID, (LoginForm)parameter.LoginType);

                                        //获取组织ID 取默认最新创建的组织
                                        long userorgid = -1;
                                        var  Org       = user.U_UserOrganizationRel.Where(x => x.UserID == getuserinfo.ID).OrderByDescending(x => x.CreateTime).FirstOrDefault();
                                        if (Org != null)
                                        {
                                            userorgid = Org.OrgID.Value;
                                        }
                                        r.Data = new RetUserLoginInfo()
                                        {
                                            HeadImgUrl        = getuserinfo.HeadImgUrl,
                                            UserId            = getuserinfo.ID.ToString(),
                                            RealName          = getuserinfo.Name,
                                            Address           = "",
                                            BirthDay          = "",
                                            CreationDate      = getuserinfo.CreateTime.HasValue ? getuserinfo.CreateTime.Value : DateTime.MinValue,
                                            Email             = getuserinfo.Email,
                                            ContactPhone      = getuserinfo.ContactPhone,
                                            NickName          = "",
                                            Phone             = "",
                                            AccountId         = getuserinfo.AccountId,
                                            Type              = getuserinfo.Type,
                                            LocationHref      = (getuserinfo.IsManageAdmin == 1) ? "/user/" : "/manage/",
                                            IsPlatformAdmin   = getuserinfo.IsManageAdmin == 1 ? true : false,
                                            TokenDisabledTime = newtoken.DisabledTime.HasValue ? newtoken.DisabledTime.Value : DateTime.Now,
                                            OrgID             = userorgid
                                        };
                                        r.Code = 0;
                                    }
                                    catch
                                    {
                                        r.Msg  = "内部错误请重试";
                                        r.Code = -1;
                                    }
                                }
                                else
                                {
                                    r.Msg  = "账号暂未审核,请尝试切换账号登陆";
                                    r.Code = -1;
                                }
                            }
                            else
                            {
                                r.Msg  = "账号已被禁用,请尝试切换账号登陆";
                                r.Code = -1;
                            }
                        }
                        else
                        {
                            U_UserLoginErrorInfo uei = new U_UserLoginErrorInfo()
                            {
                                CreateTime = DateTime.Now,
                                UserID     = getuserinfo.ID
                            };
                            user.U_UserLoginErrorInfo.Add(uei);
                            user.SaveChanges();
                            //密码错误
                            r.Msg  = "密码错误";
                            r.Code = -1;
                        }
                    }
                    else
                    {
                        r.Msg  = "找不到用户";
                        r.Code = -1;
                        //找不到用户
                    }
                }
                catch (Exception e)
                {
                    r.Msg  = "内部错误请重试";
                    r.Code = -1;
                }
            }
            r.TimerEnd();
            return(r);
        }