/// <summary> /// 根据登录名和密码查询是否存在 /// </summary> /// <param name="input">登录名、密码等</param> /// <returns></returns> public async Task <OperateStatus <UserLoginOutput> > CheckUserByCodeAndPwdAsync(UserLoginInput input) { var operateStatus = new OperateStatus <UserLoginOutput>(); try { var data = await _systemUserRepository.CheckUserByCodeAndPwd(input); //是否存在 if (data == null) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.用户名或密码错误; goto End; } if (data.IsFreeze) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.登录用户已冻结; goto End; } operateStatus.ResultSign = ResultSign.Successful; operateStatus.Message = "登录成功!"; operateStatus.Message = string.Format(Chs.Successful, "登录成功"); operateStatus.Data = data; if (data.FirstVisitTime == null) { //更新用户最后一次登录时间 await _systemUserRepository.UpdateFirstVisitTime(new IdInput(data.UserId)); } //更新用户最后一次登录时间 await _systemUserRepository.UpdateLastLoginTime(new IdInput(data.UserId)); } catch (Exception ex) { operateStatus.Message = string.Format(Chs.Successful, "登录失败"); operateStatus.Message = ex.Message; goto End; } End: return(operateStatus); }