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']