1、后端查询参数修订

2、后端过滤数据权限优化逻辑
3、获取在线用户缓存crud中keys变为*keys
4、前端状态查询修订
5、前端文件管理列表修订icon控制台警告
6、前端布局页面通知公告信息对接后端完成
This commit is contained in:
zhangtao
2024-12-22 05:25:39 +08:00
parent d270cc06a3
commit 390a8e9c41
22 changed files with 442 additions and 93 deletions
+4 -12
View File
@@ -13,21 +13,13 @@ class DeptQueryParams:
self,
name: Optional[str] = Query(None, description="部门名称", min_length=2, max_length=50),
available: Optional[bool] = Query(None, description="部门状态(True正常 False停用)"),
creator: Optional[str] = Query(None, description="创建者"),
start_time: Optional[DateTimeStr] = Query(None, description="开始时间", example="2023-01-01 00:00:00"),
end_time: Optional[DateTimeStr] = Query(None, description="结束时间", example="2023-12-31 23:59:59"),
) -> None:
super().__init__()
# 模糊查询字段
self.name = ("like", f"%{name}%") if name else None
self.creator = ("like", f"%{creator}%") if creator else None
self.name = ("like", name)
# 精确查询字段
self.available = ("eq", available) if available is not None else None
# 时间范围查询
if start_time and end_time:
start_datetime = datetime.strptime(str(start_time), '%Y-%m-%d %H:%M:%S')
end_datetime = datetime.strptime(str(end_time), '%Y-%m-%d %H:%M:%S')
self.created_at = ("between", (start_datetime, end_datetime))
self.available = available
@@ -15,17 +15,15 @@ class MenuQueryParams:
type: Optional[Literal['M', 'C', 'F']] = Query(None, description="菜单类型(M目录 C菜单 F按钮)"),
permission: Optional[str] = Query(None, description="权限标识", min_length=1, max_length=100),
available: Optional[bool] = Query(None, description="菜单状态(True正常 False停用)"),
creator: Optional[str] = Query(None, description="创建者"),
) -> None:
super().__init__()
# 模糊查询字段
self.name = ("like", f"%{name}%") if name else None
self.route_path = ("like", f"%{route_path}%") if route_path else None
self.component_path = ("like", f"%{component_path}%") if component_path else None
self.permission = ("like", f"%{permission}%") if permission else None
self.creator = ("like", f"%{creator}%") if creator else None
self.name = ("like", name)
self.route_path = ("like", route_path)
self.component_path = ("like", component_path)
self.permission = ("like", permission)
# 精确查询字段
self.type = ("eq", type) if type else None
self.available = ("eq", available) if available is not None else None
self.type = type
self.available = available
@@ -10,12 +10,14 @@ class NoticeQueryParams:
self,
notice_title: Optional[str] = Query(None, description="公告标题", min_length=2, max_length=20),
available: Optional[bool] = Query(None, description="是否可用"),
creator: Optional[int] = Query(None, description="创建人"),
) -> None:
super().__init__()
# 模糊查询字段
self.notice_title = ("like", f"%{notice_title}%") if notice_title else None
self.notice_title = ("like", notice_title)
# 精确查询字段
self.available = ("eq", available) if available is not None else None
self.creator_id = creator
self.available = available
@@ -23,12 +23,12 @@ class OperationLogQueryParams:
# 模糊查询字段
self.request_path = ("like", f"%{request_path}%") if request_path else None
self.creator_id = creator
# 精确查询字段
self.request_method = ("eq", request_method) if request_method else None
self.request_ip = ("eq", request_ip) if request_ip else None
self.response_code = ("eq", response_code) if response_code else None
self.creator_id = creator
self.request_method = request_method
self.request_ip = request_ip
self.response_code = response_code
# 时间范围查询
if start_time and end_time:
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from datetime import datetime
from typing import Optional
from fastapi import Query
@@ -10,16 +11,21 @@ class PositionQueryParams:
self,
name: Optional[str] = Query(None, description="岗位名称", min_length=2, max_length=20),
available: Optional[bool] = Query(None, description="是否可用"),
creator: Optional[int] = Query(None, description="创建人"),
start_time: Optional[str] = Query(None, description="开始时间", example="2023-01-01 00:00:00"),
end_time: Optional[str] = Query(None, description="结束时间", example="2023-12-31 23:59:59"),
) -> None:
super().__init__()
# 模糊查询字段
self.name = ("like", f"%{name}%") if name else None
self.name = ("like", name)
# 精确查询字段
self.available = ("eq", available) if available is not None else None
self.creator_id = creator
self.available = available
# 时间范围查询
self.created_at = ("between", [start_time, end_time]) if start_time and end_time else None
if start_time and end_time:
start_datetime = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')
end_datetime = datetime.strptime(end_time, '%Y-%m-%d %H:%M:%S')
self.created_at = ("between", (start_datetime, end_datetime))
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from datetime import datetime
from typing import Optional
from fastapi import Query
@@ -11,16 +12,21 @@ class RoleQueryParams:
self,
name: Optional[str] = Query(None, description="角色名称", min_length=2, max_length=20),
available: Optional[bool] = Query(None, description="是否可用"),
creator: Optional[int] = Query(None, description="创建人"),
start_time: Optional[str] = Query(None, description="开始时间", example="2023-01-01 00:00:00"),
end_time: Optional[str] = Query(None, description="结束时间", example="2023-12-31 23:59:59"),
) -> None:
super().__init__()
# 模糊查询字段
self.name = ("like", f"%{name}%") if name else None
self.name = ("like", name)
# 精确查询字段
self.available = ("eq", available) if available is not None else None
self.creator_id = creator
self.available = available
# 时间范围查询
self.created_at = ("between", [start_time, end_time]) if start_time and end_time else None
if start_time and end_time:
start_datetime = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')
end_datetime = datetime.strptime(end_time, '%Y-%m-%d %H:%M:%S')
self.created_at = ("between", (start_datetime, end_datetime))
+14 -8
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from datetime import datetime
from typing import Optional
from fastapi import Query
@@ -15,19 +16,24 @@ class UserQueryParams:
mobile: Optional[str] = Query(None, description="手机号", pattern=r'^1[3-9]\d{9}$'),
email: Optional[str] = Query(None, description="邮箱", pattern=r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'),
available: Optional[bool] = Query(None, description="是否可用"),
start_time: Optional[str] = Query(None, description="开始时间", example="2023-01-01 00:00:00"),
end_time: Optional[str] = Query(None, description="结束时间", example="2023-12-31 23:59:59"),
start_time: Optional[str] = Query(None, description="开始时间"),
end_time: Optional[str] = Query(None, description="结束时间"),
creator: Optional[int] = Query(None, description="创建人"),
) -> None:
super().__init__()
# 模糊查询字段
self.username = ("like", f"%{username}%") if username else None
self.name = ("like", f"%{name}%") if name else None
self.mobile = ("like", f"%{mobile}%") if mobile else None
self.email = ("like", f"%{email}%") if email else None
self.username = ("like", username)
self.name = ("like", name)
self.mobile = ("like", mobile)
self.email = ("like", email)
# 精确查询字段
self.available = ("eq", available) if available is not None else None
self.creator_id = creator
self.available = available
# 时间范围查询
self.created_at = ("between", [start_time, end_time]) if start_time and end_time else None
if start_time and end_time:
start_datetime = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')
end_datetime = datetime.strptime(end_time, '%Y-%m-%d %H:%M:%S')
self.created_at = ("between", (start_datetime, end_datetime))