From 88de6058ef86c3e0f70a7a0b3e8e864dc365a2f9 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Wed, 24 Jan 2024 20:52:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DUserModel=E3=80=81Role?= =?UTF-8?q?Model=E7=9A=84admin=E5=B1=9E=E6=80=A7=E4=B8=8Esqlalchemy?= =?UTF-8?q?=E8=A1=A8=E6=A8=A1=E5=9E=8B=E6=97=A0=E6=B3=95=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/controller/user_controller.py | 9 ++++++--- ruoyi-fastapi-backend/module_admin/dao/role_dao.py | 2 +- ruoyi-fastapi-backend/module_admin/dao/user_dao.py | 2 +- .../module_admin/service/role_service.py | 2 +- .../module_admin/service/user_service.py | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/user_controller.py b/ruoyi-fastapi-backend/module_admin/controller/user_controller.py index c7760d6..d9b1eba 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/user_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/user_controller.py @@ -1,6 +1,7 @@ from fastapi import APIRouter, Request from fastapi import Depends, File, Query from config.get_db import get_db +from config.env import UploadConfig from module_admin.service.login_service import LoginService from module_admin.service.user_service import * from module_admin.service.dept_service import DeptService @@ -8,6 +9,7 @@ from utils.page_util import * from utils.response_util import * from utils.log_util import * from utils.common_util import bytes2file_response +from utils.upload_util import UploadUtil from module_admin.aspect.interface_auth import CheckUserInterfaceAuth from module_admin.aspect.data_scope import GetDataScope from module_admin.annotation.log_annotation import log_decorator @@ -166,18 +168,19 @@ async def query_detail_system_user(request: Request, user_id: Optional[Union[int @log_decorator(title='个人信息', business_type=2) async def change_system_user_profile_avatar(request: Request, avatarfile: bytes = File(), query_db: Session = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): try: - dir_path = os.path.join(CachePathConfig.PATH, 'profile', 'avatar') + relative_path = f'avatar/{datetime.now().strftime("%Y")}/{datetime.now().strftime("%m")}/{datetime.now().strftime("%d")}' + dir_path = os.path.join(UploadConfig.UPLOAD_PATH, relative_path) try: os.makedirs(dir_path) except FileExistsError: pass - avatar_name = f'blob_{datetime.now().strftime("%Y%m%d%H%M%S")}.jpeg' + avatar_name = f'avatar_{datetime.now().strftime("%Y%m%d%H%M%S")}{UploadConfig.UPLOAD_MACHINE}{UploadUtil.generate_random_number()}.png' avatar_path = os.path.join(dir_path, avatar_name) with open(avatar_path, 'wb') as f: f.write(avatarfile) edit_user = EditUserModel( userId=current_user.user.user_id, - avatar=f'/common/{CachePathConfig.PATHSTR}?taskPath=profile&taskId=avatar&filename={avatar_name}', + avatar=f'{UploadConfig.UPLOAD_PREFIX}/{relative_path}/{avatar_name}', updateBy=current_user.user.user_name, updateTime=datetime.now(), type='avatar' diff --git a/ruoyi-fastapi-backend/module_admin/dao/role_dao.py b/ruoyi-fastapi-backend/module_admin/dao/role_dao.py index 88bdac7..17745b3 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/role_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/role_dao.py @@ -115,7 +115,7 @@ class RoleDao: :param role: 角色对象 :return: """ - db_role = SysRole(**role.model_dump()) + db_role = SysRole(**role.model_dump(exclude={'admin'})) db.add(db_role) db.flush() diff --git a/ruoyi-fastapi-backend/module_admin/dao/user_dao.py b/ruoyi-fastapi-backend/module_admin/dao/user_dao.py index 982ca81..ee96936 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/user_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/user_dao.py @@ -175,7 +175,7 @@ class UserDao: :param user: 用户对象 :return: 新增校验结果 """ - db_user = SysUser(**user.model_dump()) + db_user = SysUser(**user.model_dump(exclude={'admin'})) db.add(db_user) db.flush() diff --git a/ruoyi-fastapi-backend/module_admin/service/role_service.py b/ruoyi-fastapi-backend/module_admin/service/role_service.py index cf95b6d..bb82b78 100644 --- a/ruoyi-fastapi-backend/module_admin/service/role_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/role_service.py @@ -87,7 +87,7 @@ class RoleService: :param page_object: 编辑角色对象 :return: 编辑角色校验结果 """ - edit_role = page_object.model_dump(exclude_unset=True) + edit_role = page_object.model_dump(exclude_unset=True, exclude={'admin'}) if page_object.type != 'status': del edit_role['menu_ids'] if page_object.type == 'status': diff --git a/ruoyi-fastapi-backend/module_admin/service/user_service.py b/ruoyi-fastapi-backend/module_admin/service/user_service.py index 65c5c2b..cf56120 100644 --- a/ruoyi-fastapi-backend/module_admin/service/user_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/user_service.py @@ -66,7 +66,7 @@ class UserService: :param page_object: 编辑用户对象 :return: 编辑用户校验结果 """ - edit_user = page_object.model_dump(exclude_unset=True) + edit_user = page_object.model_dump(exclude_unset=True, exclude={'admin'}) if page_object.type != 'status' and page_object.type != 'avatar' and page_object.type != 'pwd': del edit_user['role_ids'] del edit_user['post_ids']