예제 #1
0
        public async Task <string> SubmitLoginAsync(LoginInputDTO input)
        {
            input.password = input.password.ToMD5String();
            var theUser = await GetIQueryable()
                          .Where(x => x.UserName == input.userName && x.Password == input.password)
                          .FirstOrDefaultAsync();

            if (theUser.IsNullOrEmpty())
            {
                throw new BusException("账号或密码不正确!");
            }

            List <UserProjectDTO> projusers = await _mini_project_userBusiness.GetUserProjectListAsync(theUser.UserName);

            if (projusers?.Count > 0)
            {
                var defaultProject = projusers.FirstOrDefault(x => x.Id == theUser.Last_Interview_Project)?.Id;
                if (theUser.Last_Interview_Project != defaultProject)
                {
                    theUser.Last_Interview_Project = defaultProject;
                    await UpdateAsync(theUser);
                }
            }

            //生成token,有效期一天
            JWTPayload jWTPayload = new JWTPayload
            {
                UserId = theUser.Id,
                Expire = DateTime.Now.AddDays(1)
            };
            string token = JWTHelper.GetToken(jWTPayload.ToJson(), JWTHelper.JWTSecret);

            return(token);
        }
예제 #2
0
        public async Task <object> GetOperatorInfo()
        {
            var theInfo = await _userBus.GetTheDataAsync(_operator.UserId);

            var permissions = await _permissionBus.GetUserPermissionValuesAsync(_operator.UserId);

            var projectList = await _mini_project_userBusiness.GetUserProjectListAsync(_operator.UserId);

            var resObj = new
            {
                UserInfo    = theInfo,
                Permissions = permissions,
                ProjectList = projectList
            };

            return(resObj);
        }