fix: 修复注册异常,删除用户异常,调整用户信息存储时间
This commit is contained in:
20
api/login.py
20
api/login.py
@@ -18,7 +18,7 @@ from config.constant import BusinessType
|
||||
from config.constant import RedisKeyConfig
|
||||
from controller.login import CustomOAuth2PasswordRequestForm, LoginController
|
||||
from controller.query import QueryController
|
||||
from models import Department, User
|
||||
from models import Department, User, Role, UserRole
|
||||
from schemas.common import BaseResponse
|
||||
from schemas.login import LoginParams, GetUserInfoResponse, LoginResponse, GetCaptchaResponse, GetEmailCodeParams, \
|
||||
ResetPasswordParams
|
||||
@@ -94,7 +94,7 @@ async def login(
|
||||
async def register(request: Request, params: RegisterUserParams):
|
||||
register_enabled = (
|
||||
True
|
||||
if await request.app.state.redis.get(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:register_enabled')
|
||||
if await request.app.state.redis.get(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:account_register_enabled')
|
||||
== 'true'
|
||||
else False
|
||||
)
|
||||
@@ -106,7 +106,14 @@ async def register(request: Request, params: RegisterUserParams):
|
||||
if await QueryController.register_user_before(username=params.username, phone=params.phone, email=params.email):
|
||||
return Response.error(msg="注册失败,用户已存在!")
|
||||
params.password = await Password.get_password_hash(input_password=params.password)
|
||||
# 默认分配注册用户
|
||||
userRole = await Role.get_or_none(department__name="注册用户", code="user", del_flag=1).values(
|
||||
department_id="department__id", id="id")
|
||||
if not params.department_id:
|
||||
params.department_id = userRole.get("department_id", "")
|
||||
department = await Department.get_or_none(id=params.department_id)
|
||||
userRole = await Role.get_or_none(department__id=department.id, code="user", del_flag=1).values(id="id")
|
||||
print(userRole)
|
||||
user = await User.create(
|
||||
username=params.username,
|
||||
password=params.password,
|
||||
@@ -118,6 +125,11 @@ async def register(request: Request, params: RegisterUserParams):
|
||||
status=params.status,
|
||||
)
|
||||
if user:
|
||||
# 默认分配普通用户角色
|
||||
await UserRole.create(
|
||||
user_id=user.id,
|
||||
role_id=userRole.get("id", ""),
|
||||
)
|
||||
userParams = LoginParams(
|
||||
username=params.username,
|
||||
password=params.password
|
||||
@@ -140,7 +152,7 @@ async def register(request: Request, params: RegisterUserParams):
|
||||
result.pop("session_id")
|
||||
result.pop("userInfo")
|
||||
return Response.success(msg="注册成功!", data=result)
|
||||
return Response.error(msg="注册成功!")
|
||||
return Response.success(msg="注册成功!")
|
||||
else:
|
||||
return Response.error(msg="注册失败!")
|
||||
|
||||
@@ -221,7 +233,7 @@ async def info(
|
||||
|
||||
|
||||
@loginAPI.get("/getRoutes", response_class=JSONResponse, summary="获取路由信息")
|
||||
# @Log(title="获取路由信息", business_type=BusinessType.SELECT)
|
||||
@Log(title="获取路由信息", business_type=BusinessType.SELECT)
|
||||
async def get_routes(request: Request, current_user: dict = Depends(LoginController.get_current_user)):
|
||||
sub_departments = current_user.get("sub_departments")
|
||||
routes = await request.app.state.redis.get(f'{RedisKeyConfig.USER_ROUTES.key}:{current_user["id"]}')
|
||||
|
||||
Reference in New Issue
Block a user