fix: 修复数据权限异常

This commit is contained in:
皓月归尘 2025-03-01 22:49:35 +08:00
parent 3d7021dc6b
commit 21c87d49d7
4 changed files with 20 additions and 2 deletions

View File

@ -485,6 +485,8 @@ async def get_code_log_list(request: Request,
else:
if department_id:
filterArgs['operator__department__id'] = department_id
else:
filterArgs['operator__department__id'] = current_user.get("department_id")
count = await QueryCodeLog.filter(**filterArgs, operator__del_flag=1, del_flag=1).count()
data = await QueryCodeLog.filter(**filterArgs, operator__del_flag=1, del_flag=1).order_by("-operation_time").offset(
(page - 1) * pageSize).limit(pageSize).values(
@ -545,6 +547,8 @@ async def get_code_log_list(request: Request,
else:
if department_id:
filterArgs['operator__department__id'] = department_id
else:
filterArgs['operator__department__id'] = current_user.get("department_id")
count = await QueryCodeLog.filter(**filterArgs, operator__del_flag=1, del_flag=1).count()
data = await QueryCodeLog.filter(**filterArgs, operator__del_flag=1, del_flag=1).order_by("-operation_time").values(
id="id",
@ -757,6 +761,8 @@ async def feedback_list(request: Request,
else:
if department_id:
filterArgs['user__department__id'] = department_id
else:
filterArgs['user__department__id'] = current_user.get("department_id")
if status is not None:
filterArgs['status'] = int(status)
@ -913,6 +919,8 @@ async def get_code_import_list(
else:
if department_id:
filterArgs['user__department__id'] = department_id
else:
filterArgs['user__department__id'] = current_user.get("department_id")
if status is not None:
filterArgs['status'] = int(status)

View File

@ -79,8 +79,9 @@ async def delete_department_list(request: Request, params: DeleteListParams,
if department := await Department.get_or_none(id=item, del_flag=1):
if item in sub_departments:
await delete_department_recursive(department_id=department.id)
if await request.app.state.redis.get(f'{RedisKeyConfig.USER_INFO.key}:*'):
await request.app.state.redis.delete(f'{RedisKeyConfig.USER_INFO.key}:*')
userInfos = await request.app.state.redis.keys(f'{RedisKeyConfig.USER_INFO.key}*')
if userInfos:
await request.app.state.redis.delete(*userInfos)
return Response.success(msg="删除成功!")
@ -116,6 +117,9 @@ async def update_department(request: Request, params: AddDepartmentParams, id: s
department.sort = params.sort
department.status = params.status
await department.save()
userInfos = await request.app.state.redis.keys(f'{RedisKeyConfig.USER_INFO.key}*')
if userInfos:
await request.app.state.redis.delete(*userInfos)
return Response.success(msg="修改成功!")
else:
return Response.error(msg="修改失败,部门不存在!")

View File

@ -67,6 +67,8 @@ async def get_login_log(request: Request,
filter(lambda x: x["user_id"] == user_id, jsonable_encoder(online_user_list)))
if department_id:
filterArgs['user__department__id'] = department_id
else:
filterArgs["user__department__id"] = current_user.get("department_id")
result = await LoginLog.filter(**filterArgs, user__del_flag=1, del_flag=1).offset(
(page - 1) * pageSize).limit(pageSize).values(
id="id",

View File

@ -197,9 +197,13 @@ async def get_role_list(
if await hasAuth(request, "role:btn:admin"):
if not department_id:
filterArgs["department__id__in"] = current_user.get("sub_departments")
else:
filterArgs["department__id"] = current_user.get("department_id")
else:
if department_id:
filterArgs["department__id"] = department_id
else:
filterArgs["department__id"] = current_user.get("department_id")
total = await Role.filter(**filterArgs, del_flag=1).count()
data = await Role.filter(**filterArgs, del_flag=1).offset(
(page - 1) * pageSize).limit(