public LoginType_Log SearchByUIDModel(SearchByVIDModel user)
        {
            var res = new LoginType_Log();
            //查询条件
            var predicate = WhereExtension.True <LoginType_Log>();//初始化where表达式

            //status='true'  为有效登录方式信息
            predicate = predicate.And(p => p.status.Contains("true"));
            if (!String.IsNullOrEmpty(user.VID))
            {
                predicate = predicate.And(p => p.uid.Contains(user.VID));
            }
            var result = DbSet.Where(predicate).OrderByDescending(p => p.CreateDate).ToList();

            if (result.Count != 0)
            {
                res = result.First();
            }
            else
            {
                res = null;
            }

            return(res);
        }
Exemplo n.º 2
0
        //记录 用户选择登录方式(参数:uid)(默认人脸识别登录)
        public BaseViewModel SaveLoginTypeInfo(string uid)
        {
            BaseViewModel baseView = new BaseViewModel();

            if (uid == "")
            {
                baseView.Message      = "参数为空";
                baseView.ResponseCode = 2;
            }
            else
            {
                try
                {
                    //获取人脸登录方式  默认该用户选用人脸识别登录
                    LoginType LoginType = _loginTypeRepository.SearchFaceModel();

                    LoginType_Log log = new LoginType_Log();
                    log.ID         = Guid.NewGuid().ToString();
                    log.uid        = uid;
                    log.typeid     = LoginType.ID;
                    log.status     = "true";
                    log.CreateDate = DateTime.Now;
                    _loginType_Log.Add(log);
                    int a = _loginType_Log.SaveChanges();
                    if (a > 0)
                    {
                        baseView.Message      = "保存成功";
                        baseView.ResponseCode = 0;
                    }
                    else
                    {
                        baseView.Message      = "保存失败";
                        baseView.ResponseCode = 1;
                    }
                }
                catch (Exception ex)
                {
                    baseView.Message      = "出现异常";
                    baseView.ResponseCode = 3;
                    //_ILogger.Information("记录用户选择登录方式出现异常" + ex.Message + ex.StackTrace + ex.Source);
                }
            }
            return(baseView);
        }
Exemplo n.º 3
0
        //根据uid 获取用户的登录方式(参数:uid)
        public UserLoginResModel GetUserLoginType(SearchByVIDModel uidViewModel)
        {
            UserLoginResModel viewModel = new UserLoginResModel();

            if (uidViewModel.VID == "")
            {
                //.Information("获取用户的登录方式参数为空");
                viewModel = null;
            }
            else
            {
                try
                {
                    LoginType_Log loginType_Log = _loginType_Log.SearchByUIDModel(uidViewModel);
                    //未选择 登录方式
                    if (loginType_Log == null)
                    {
                        viewModel = null;
                    }
                    else
                    {
                        //获取 该用户设置的登录方式 并计算有效时间
                        LoginType LoginType = _loginTypeRepository.SearchByIDModel(loginType_Log.typeid);

                        viewModel.uid    = uidViewModel.VID;
                        viewModel.type   = LoginType.type;
                        viewModel.typeid = LoginType.ID;
                        viewModel.days   = LoginType.days;
                        viewModel.hours  = LoginType.hours;
                    }
                }
                catch (Exception ex)
                {
                    //_ILogger.Information("根据uid获取用户的登录方式出现异常" + ex.Message + ex.StackTrace + ex.Source);
                    viewModel = null;
                }
            }

            return(viewModel);
        }
Exemplo n.º 4
0
        //记录 用户选择登录方式(参数:uid)(更新操作)
        public BaseViewModel SaveLoginTypeInfo(LoginTypeModel typeModel)
        {
            //_ILogger.Information("记录用户选择登录方式参数typeid=" + typeModel.typeid);
            BaseViewModel baseView = new BaseViewModel();

            if (typeModel.uid == "" || typeModel.typeid == "")
            {
                baseView.Message      = "参数为空";
                baseView.ResponseCode = 2;
            }
            else
            {
                try
                {
                    SearchByVIDModel uID = new SearchByVIDModel();
                    uID.VID = typeModel.uid;
                    LoginType_Log loginType_Log = _loginType_Log.SearchByUIDModel(uID);
                    //未选择 登录方式
                    if (loginType_Log == null)
                    {
                        //获取人脸登录方式  默认该用户选用人脸识别登录
                        LoginType LoginType = _loginTypeRepository.SearchFaceModel();

                        LoginType_Log log = new LoginType_Log();
                        log.ID         = Guid.NewGuid().ToString();
                        log.uid        = typeModel.uid;
                        log.typeid     = LoginType.ID;
                        log.status     = "true";
                        log.CreateDate = DateTime.Now;
                        _loginType_Log.Add(log);
                        int a = _loginType_Log.SaveChanges();
                        if (a > 0)
                        {
                            baseView.Message      = "保存成功";
                            baseView.ResponseCode = 0;
                        }
                        else
                        {
                            baseView.Message      = "保存失败";
                            baseView.ResponseCode = 1;
                        }
                    }
                    else
                    {
                        //更新 原登录方式为 无效
                        loginType_Log.status     = "false";
                        loginType_Log.UpdateDate = DateTime.Now;
                        _loginType_Log.Update(loginType_Log);
                        int a = _loginType_Log.SaveChanges();
                        if (a > 0)
                        {
                            //保存新的登录方式
                            LoginType_Log log2 = new LoginType_Log();
                            log2.ID         = Guid.NewGuid().ToString();
                            log2.uid        = typeModel.uid;
                            log2.typeid     = typeModel.typeid;
                            log2.status     = "true";
                            log2.CreateDate = DateTime.Now;
                            _loginType_Log.Add(log2);
                            _loginType_Log.SaveChanges();
                            baseView.Message      = "保存成功";
                            baseView.ResponseCode = 0;
                        }
                        else
                        {
                            baseView.Message      = "保存失败";
                            baseView.ResponseCode = 1;
                        }
                    }
                }
                catch (Exception ex)
                {
                    baseView.Message      = "出现异常";
                    baseView.ResponseCode = 3;
                    //_ILogger.Information("记录用户选择登录方式出现异常" + ex.Message + ex.StackTrace + ex.Source);
                }
            }
            return(baseView);
        }
Exemplo n.º 5
0
        //根据uid判断是否已登录(参数:uid)验证用户是否登录
        public BaseViewModel CheckUserLogin(SearchByVIDModel uidViewModel)
        {
            BaseViewModel viewModel = new BaseViewModel();

            if (uidViewModel.VID == "")
            {
                //_ILogger.Information("验证用户是否登录参数为空");
                viewModel.ResponseCode = 2;
                viewModel.Message      = "参数为空";
            }
            else
            {
                try
                {
                    LoginType_Log loginType_Log = _loginType_Log.SearchByUIDModel(uidViewModel);
                    //未选择 登录方式
                    if (loginType_Log == null)
                    {
                        viewModel.ResponseCode = 1;
                        viewModel.Message      = "未登录";
                    }
                    else
                    {
                        //获取 该用户设置的登录方式 并计算有效时间
                        LoginType LoginType = _loginTypeRepository.SearchByIDModel(loginType_Log.typeid);
                        //获取 用户最新的一次登录记录 20200402
                        var log = _userLogin_Log.GetUserLogin(uidViewModel.VID);
                        if (log == null)
                        {
                            viewModel.ResponseCode = 1;
                            viewModel.Message      = "未登录";
                        }
                        else
                        {
                            DateTime lasttime = DateTime.Parse(log.CreateDate.ToString());
                            TimeSpan ts1      = new TimeSpan(lasttime.Ticks);
                            TimeSpan ts2      = new TimeSpan(DateTime.Now.Ticks);
                            TimeSpan ts       = ts2.Subtract(ts1);

                            //判断 登录时间是否超时
                            //不通登录方式 登录保持时长(单位:小时)
                            int hours = int.Parse(LoginType.hours) * int.Parse(LoginType.days);
                            //上次登录时间 加上 登录保持时长 小于当前时间 说明已经登录超时
                            if (lasttime.AddHours(hours) < DateTime.Now)
                            {
                                viewModel.ResponseCode = 1;
                                viewModel.Message      = "未登录";
                                log.status             = "false";
                                log.UpdateDate         = DateTime.Now;
                                log.bak1 = "LoginTimeout";

                                _userLogin_Log.Update(log);
                                _userLogin_Log.SaveChanges();
                            }
                            else
                            {
                                //获取 用的 审核状态 20200426
                                var userinfo = _volunteerInfoRepository.SearchInfoByID(uidViewModel.VID);
                                if (userinfo != null)
                                {
                                    if (userinfo.Status == "1")
                                    {
                                        viewModel.ResponseCode = 0;
                                        viewModel.Message      = "已登录";
                                    }
                                    if (userinfo.Status == "0")
                                    {
                                        viewModel.ResponseCode = 5;
                                        viewModel.Message      = "待审核用户已登录";
                                    }
                                    if (userinfo.Status == "3")
                                    {
                                        viewModel.ResponseCode = 6;
                                        viewModel.Message      = "审核不通过用户已登录";
                                    }
                                }
                                else
                                {
                                    viewModel.ResponseCode = 1;
                                    viewModel.Message      = "未登录";
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    //_ILogger.Information("根据uid获取用户的登录方式出现异常" + ex.Message + ex.StackTrace + ex.Source);
                    viewModel.ResponseCode = 3;
                    viewModel.Message      = "出现异常";
                }
            }

            return(viewModel);
        }
 public virtual void Update(LoginType_Log obj)
 {
     DbSet.Update(obj);
 }
 public virtual void Add(LoginType_Log obj)
 {
     DbSet.Add(obj);
 }