|
|
@ -5,14 +5,15 @@ 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 |
|
|
|
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 |
|
|
|
from config.enums import BusinessType |
|
|
|
from utils.page_util import PageResponseModel |
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
userController = APIRouter(prefix='/system/user', dependencies=[Depends(LoginService.get_current_user)]) |
|
|
@ -42,7 +43,7 @@ async def get_system_user_list(request: Request, user_page_query: UserPageQueryM |
|
|
|
|
|
|
|
|
|
|
|
@userController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:user:add'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=1) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.INSERT) |
|
|
|
async def add_system_user(request: Request, add_user: AddUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
add_user.password = PwdUtil.get_password_hash(add_user.password) |
|
|
@ -63,7 +64,7 @@ async def add_system_user(request: Request, add_user: AddUserModel, query_db: As |
|
|
|
|
|
|
|
|
|
|
|
@userController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:user:edit'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=2) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.UPDATE) |
|
|
|
async def edit_system_user(request: Request, edit_user: EditUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
edit_user.update_by = current_user.user.user_name |
|
|
@ -81,7 +82,7 @@ async def edit_system_user(request: Request, edit_user: EditUserModel, query_db: |
|
|
|
|
|
|
|
|
|
|
|
@userController.delete("/{user_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:user:remove'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=3) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.DELETE) |
|
|
|
async def delete_system_user(request: Request, user_ids: str, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
delete_user = DeleteUserModel( |
|
|
@ -102,7 +103,7 @@ async def delete_system_user(request: Request, user_ids: str, query_db: AsyncSes |
|
|
|
|
|
|
|
|
|
|
|
@userController.put("/resetPwd", dependencies=[Depends(CheckUserInterfaceAuth('system:user:resetPwd'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=2) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.UPDATE) |
|
|
|
async def reset_system_user_pwd(request: Request, edit_user: EditUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
edit_user.password = PwdUtil.get_password_hash(edit_user.password) |
|
|
@ -122,7 +123,7 @@ async def reset_system_user_pwd(request: Request, edit_user: EditUserModel, quer |
|
|
|
|
|
|
|
|
|
|
|
@userController.put("/changeStatus", dependencies=[Depends(CheckUserInterfaceAuth('system:user:edit'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=2) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.UPDATE) |
|
|
|
async def change_system_user_status(request: Request, edit_user: EditUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
edit_user.update_by = current_user.user.user_name |
|
|
@ -164,7 +165,7 @@ async def query_detail_system_user(request: Request, user_id: Optional[Union[int |
|
|
|
|
|
|
|
|
|
|
|
@userController.post("/profile/avatar") |
|
|
|
@log_decorator(title='个人信息', business_type=2) |
|
|
|
@log_decorator(title='个人信息', business_type=BusinessType.UPDATE) |
|
|
|
async def change_system_user_profile_avatar(request: Request, avatarfile: bytes = File(), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
relative_path = f'avatar/{datetime.now().strftime("%Y")}/{datetime.now().strftime("%m")}/{datetime.now().strftime("%d")}' |
|
|
@ -197,7 +198,7 @@ async def change_system_user_profile_avatar(request: Request, avatarfile: bytes |
|
|
|
|
|
|
|
|
|
|
|
@userController.put("/profile") |
|
|
|
@log_decorator(title='个人信息', business_type=2) |
|
|
|
@log_decorator(title='个人信息', business_type=BusinessType.UPDATE) |
|
|
|
async def change_system_user_profile_info(request: Request, user_info: UserInfoModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
edit_user = EditUserModel( |
|
|
@ -227,7 +228,7 @@ async def change_system_user_profile_info(request: Request, user_info: UserInfoM |
|
|
|
|
|
|
|
|
|
|
|
@userController.put("/profile/updatePwd") |
|
|
|
@log_decorator(title='个人信息', business_type=2) |
|
|
|
@log_decorator(title='个人信息', business_type=BusinessType.UPDATE) |
|
|
|
async def reset_system_user_password(request: Request, reset_password: ResetPasswordModel = Depends(ResetPasswordModel.as_query), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
reset_user = ResetUserModel( |
|
|
@ -250,7 +251,7 @@ async def reset_system_user_password(request: Request, reset_password: ResetPass |
|
|
|
|
|
|
|
|
|
|
|
@userController.post("/importData", dependencies=[Depends(CheckUserInterfaceAuth('system:user:import'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=6) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.IMPORT) |
|
|
|
async def batch_import_system_user(request: Request, file: UploadFile = File(...), update_support: bool = Query(alias='updateSupport'), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): |
|
|
|
try: |
|
|
|
batch_import_result = await UserService.batch_import_user_services(query_db, file, update_support, current_user) |
|
|
@ -277,7 +278,7 @@ async def export_system_user_template(request: Request, query_db: AsyncSession = |
|
|
|
|
|
|
|
|
|
|
|
@userController.post("/export", dependencies=[Depends(CheckUserInterfaceAuth('system:user:export'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=5) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.EXPORT) |
|
|
|
async def export_system_user_list(request: Request, user_page_query: UserPageQueryModel = Depends(UserPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db), data_scope_sql: str = Depends(GetDataScope('SysUser'))): |
|
|
|
try: |
|
|
|
# 获取全量数据 |
|
|
@ -303,6 +304,7 @@ async def get_system_allocated_role_list(request: Request, user_id: int, query_d |
|
|
|
|
|
|
|
|
|
|
|
@userController.put("/authRole", response_model=UserRoleResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('system:user:edit'))]) |
|
|
|
@log_decorator(title='用户管理', business_type=BusinessType.GRANT) |
|
|
|
async def update_system_role_user(request: Request, user_id: int = Query(alias='userId'), role_ids: str = Query(alias='roleIds'), query_db: AsyncSession = Depends(get_db)): |
|
|
|
try: |
|
|
|
add_user_role_result = await UserService.add_user_role_services(query_db, CrudUserRoleModel(userId=user_id, roleIds=role_ids)) |
|
|
|