diff --git a/README.md b/README.md index ed227c6bdd38da812eddf0f9eb4a562a75b3f2e1..d8a3076d63db9bfd26f7a267a29cbc6a6610b30a 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@
-
+
diff --git a/ruoyi-fastapi-backend/.env.dev b/ruoyi-fastapi-backend/.env.dev
index 0a1849ee8ef60454cf4ff5cc9a6f67b1822f9ae2..311ac45b678c1ebe52cd093a9fc20024c027846b 100644
--- a/ruoyi-fastapi-backend/.env.dev
+++ b/ruoyi-fastapi-backend/.env.dev
@@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0'
# 应用端口
APP_PORT = 9099
# 应用版本
-APP_VERSION= '1.3.2'
+APP_VERSION= '1.3.3'
# 应用是否开启热重载
APP_RELOAD = true
# 应用是否开启IP归属区域查询
diff --git a/ruoyi-fastapi-backend/.env.prod b/ruoyi-fastapi-backend/.env.prod
index de24b3e5c8015a6aeee651fabfe15c756b9907d2..68a04b6b2a581372c379c04025b588f0f3380cce 100644
--- a/ruoyi-fastapi-backend/.env.prod
+++ b/ruoyi-fastapi-backend/.env.prod
@@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0'
# 应用端口
APP_PORT = 9099
# 应用版本
-APP_VERSION= '1.3.2'
+APP_VERSION= '1.3.3'
# 应用是否开启热重载
APP_RELOAD = false
# 应用是否开启IP归属区域查询
diff --git a/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py b/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py
index 1f3e220227f9de4b80498405ba9fce2c3b1bba26..952dfb8444e092d199ecdb0c7484882a23cf781e 100644
--- a/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py
+++ b/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py
@@ -16,6 +16,7 @@ from module_admin.service.login_service import LoginService
from config.enums import BusinessType
from config.env import AppConfig
from exceptions.exception import LoginException, ServiceException, ServiceWarning
+from utils.log_util import logger
from utils.response_util import ResponseUtil
@@ -116,13 +117,14 @@ class Log:
try:
# 调用原始函数
result = await func(*args, **kwargs)
- except LoginException as e:
+ except (LoginException, ServiceWarning) as e:
+ logger.warning(e.message)
result = ResponseUtil.failure(data=e.data, msg=e.message)
except ServiceException as e:
+ logger.error(e.message)
result = ResponseUtil.error(data=e.data, msg=e.message)
- except ServiceWarning as e:
- result = ResponseUtil.failure(data=e.data, msg=e.message)
except Exception as e:
+ logger.exception(e)
result = ResponseUtil.error(msg=str(e))
# 获取请求耗时
cost_time = float(time.time() - start_time) * 100
@@ -295,13 +297,14 @@ def log_decorator(
try:
# 调用原始函数
result = await func(*args, **kwargs)
- except LoginException as e:
+ except (LoginException, ServiceWarning) as e:
+ logger.warning(e.message)
result = ResponseUtil.failure(data=e.data, msg=e.message)
except ServiceException as e:
+ logger.error(e.message)
result = ResponseUtil.error(data=e.data, msg=e.message)
- except ServiceWarning as e:
- result = ResponseUtil.failure(data=e.data, msg=e.message)
except Exception as e:
+ logger.exception(e)
result = ResponseUtil.error(msg=str(e))
# 获取请求耗时
cost_time = float(time.time() - start_time) * 100
diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/online_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/online_vo.py
index ca68f1ec878a6c5c87b759d00c8bd15a05ee5271..11bb4758ace3962e3568617be9f0c0030f0ee22a 100644
--- a/ruoyi-fastapi-backend/module_admin/entity/vo/online_vo.py
+++ b/ruoyi-fastapi-backend/module_admin/entity/vo/online_vo.py
@@ -13,10 +13,10 @@ class OnlineModel(BaseModel):
model_config = ConfigDict(alias_generator=to_camel)
token_id: Optional[str] = Field(default=None, description='会话编号')
- user_name: Optional[str] = Field(default=None, description='部门名称')
- dept_name: Optional[str] = Field(default=None, description='用户名称')
- ipaddr: Optional[str] = Field(default=None, description='登录IP地址')
- login_location: Optional[str] = Field(default=None, description='登录地址')
+ user_name: Optional[str] = Field(default=None, description='登录名称')
+ dept_name: Optional[str] = Field(default=None, description='所属部门')
+ ipaddr: Optional[str] = Field(default=None, description='主机')
+ login_location: Optional[str] = Field(default=None, description='登录地点')
browser: Optional[str] = Field(default=None, description='浏览器类型')
os: Optional[str] = Field(default=None, description='操作系统')
login_time: Optional[datetime] = Field(default=None, description='登录时间')
diff --git a/ruoyi-fastapi-backend/module_admin/service/online_service.py b/ruoyi-fastapi-backend/module_admin/service/online_service.py
index 0d1c913ecfc9de9b3c272cd0c92c80e2e4bb54b8..56742b06a19c2f43b06e3b49266bb184aed7e833 100644
--- a/ruoyi-fastapi-backend/module_admin/service/online_service.py
+++ b/ruoyi-fastapi-backend/module_admin/service/online_service.py
@@ -22,7 +22,7 @@ class OnlineService:
:param query_object: 查询参数对象
:return: 在线用户列表信息
"""
- access_token_keys = await request.app.state.redis.keys(f"{RedisInitKeyConfig.ACCESS_TOKEN.key}*")
+ access_token_keys = await request.app.state.redis.keys(f'{RedisInitKeyConfig.ACCESS_TOKEN.key}*')
if not access_token_keys:
access_token_keys = []
access_token_values_list = [await request.app.state.redis.get(key) for key in access_token_keys]
@@ -40,11 +40,11 @@ class OnlineService:
login_time=payload.get('login_info').get('loginTime'),
)
if query_object.user_name and not query_object.ipaddr:
- if query_object.user_name == payload.get('login_info').get('ipaddr'):
+ if query_object.user_name == payload.get('user_name'):
online_info_list = [online_dict]
break
elif not query_object.user_name and query_object.ipaddr:
- if query_object.ipaddr == payload.get('ipaddr'):
+ if query_object.ipaddr == payload.get('login_info').get('ipaddr'):
online_info_list = [online_dict]
break
elif query_object.user_name and query_object.ipaddr:
@@ -70,7 +70,7 @@ class OnlineService:
if page_object.token_ids:
token_id_list = page_object.token_ids.split(',')
for token_id in token_id_list:
- await request.app.state.redis.delete(f"{RedisInitKeyConfig.ACCESS_TOKEN.key}:{token_id}")
+ await request.app.state.redis.delete(f'{RedisInitKeyConfig.ACCESS_TOKEN.key}:{token_id}')
return CrudResponseModel(is_success=True, message='强退成功')
else:
raise ServiceException(message='传入session_id为空')
diff --git a/ruoyi-fastapi-backend/requirements.txt b/ruoyi-fastapi-backend/requirements.txt
index 1a7fc30e3854a425e146cb700a6ff26c991fe0dc..3daf29e3ae4e9d5b60e4d98dfdc35a58f564499c 100644
--- a/ruoyi-fastapi-backend/requirements.txt
+++ b/ruoyi-fastapi-backend/requirements.txt
@@ -8,7 +8,7 @@ pandas==2.2.2
passlib[bcrypt]==1.7.4
Pillow==10.4.0
psutil==6.0.0
-pydantic-validation-decorator==0.1.2
+pydantic-validation-decorator==0.1.4
PyJWT[crypto]==2.8.0
PyMySQL==1.1.1
redis==5.0.7
diff --git a/ruoyi-fastapi-frontend/package.json b/ruoyi-fastapi-frontend/package.json
index ae463d2a04396561ad657a701740a758f70a307a..0e5b0144549c75a4cddd508955cc41528143ce6a 100644
--- a/ruoyi-fastapi-frontend/package.json
+++ b/ruoyi-fastapi-frontend/package.json
@@ -1,6 +1,6 @@
{
"name": "vfadmin",
- "version": "1.3.2",
+ "version": "1.3.3",
"description": "vfadmin管理系统",
"author": "insistence",
"license": "MIT",