|
@@ -5,71 +5,90 @@ from fastapi import APIRouter, Request, Depends
|
|
|
from database import get_db
|
|
|
from sqlalchemy.orm import Session
|
|
|
from models import *
|
|
|
-import json
|
|
|
-from common.auth_user import *
|
|
|
+from utils import *
|
|
|
+from common.security import valid_access_token
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get('/getInfo')
|
|
|
-async def getInfo(request: Request,db: Session = Depends(get_db), user: AuthUser = Depends(get_auth_user)):
|
|
|
+async def getInfo(request: Request,db: Session = Depends(get_db), user_id: int = Depends(valid_access_token)):
|
|
|
+ # 用户信息
|
|
|
+ info = db.query(SysUser).filter(SysUser.user_id == user_id).first()
|
|
|
+
|
|
|
+ # 部门信息
|
|
|
+ dept_name = ""
|
|
|
+ dept_info = db.query(SysDept).filter(SysDept.dept_id == info.dept_id).first()
|
|
|
+ if dept_name is not None:
|
|
|
+ dept_name = dept_info.dept_name
|
|
|
+
|
|
|
+ # 角色信息
|
|
|
+ roles = []
|
|
|
+ role_ids = db.query(SysUserRole).filter(SysUserRole.user_id == user_id).all()
|
|
|
+ for role in role_ids:
|
|
|
+ role_info = db.query(SysRole).filter(SysRole.role_id == role.role_id).first()
|
|
|
+ roles.append(
|
|
|
+ {
|
|
|
+ "roleId": role_info.role_id,
|
|
|
+ "roleName": role_info.role_name,
|
|
|
+ "roleKey": role_info.role_key,
|
|
|
+ "roleSort": role_info.role_sort,
|
|
|
+ "dataScope": role_info.data_scope,
|
|
|
+ "menuCheckStrictly": role_info.menu_check_strictly,
|
|
|
+ "deptCheckStrictly": role_info.dept_check_strictly,
|
|
|
+ "status": role_info.status,
|
|
|
+ "remark": role_info.remark,
|
|
|
+ "createTime": get_datetime_str(role_info.create_time),
|
|
|
+ "flag": False,
|
|
|
+ "superAdmin": True
|
|
|
+ }
|
|
|
+ )
|
|
|
+
|
|
|
+ role_keys = [
|
|
|
+ n['roleKey']
|
|
|
+ for n in roles
|
|
|
+ ]
|
|
|
+
|
|
|
return {
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功",
|
|
|
- "data": {
|
|
|
- "user": {
|
|
|
- "userId": 1,
|
|
|
- "tenantId": "000000",
|
|
|
- "deptId": 103,
|
|
|
- "userName": "admin",
|
|
|
- "nickName": "疯狂的狮子Li",
|
|
|
- "userType": "sys_user",
|
|
|
- "email": "crazyLionLi@163.com",
|
|
|
- "phonenumber": "15888888888",
|
|
|
- "sex": "1",
|
|
|
- "avatar": "http://43.138.9.96:9000/ruoyi/2024/08/07/ecee69404ef2416c9505a4d8803096a1.jpeg",
|
|
|
- "status": "0",
|
|
|
- "loginIp": "223.74.44.187",
|
|
|
- "loginDate": "2024-08-07 21:22:25",
|
|
|
- "remark": "管理员",
|
|
|
- "createTime": "2024-05-20 13:16:22",
|
|
|
- "deptName": "研发部门",
|
|
|
- "roles": [
|
|
|
- {
|
|
|
- "roleId": 1,
|
|
|
- "roleName": "超级管理员",
|
|
|
- "roleKey": "superadmin",
|
|
|
- "roleSort": 1,
|
|
|
- "dataScope": "1",
|
|
|
- "menuCheckStrictly": None,
|
|
|
- "deptCheckStrictly": None,
|
|
|
- "status": "0",
|
|
|
- "remark": None,
|
|
|
- "createTime": None,
|
|
|
- "flag": False,
|
|
|
- "superAdmin": True
|
|
|
- }
|
|
|
+ "code": 200,
|
|
|
+ "msg": "操作成功",
|
|
|
+ "data": {
|
|
|
+ "user": {
|
|
|
+ "userId": info.user_id,
|
|
|
+ "tenantId": info.tenant_id,
|
|
|
+ "deptId": info.dept_id,
|
|
|
+ "userName": info.user_name,
|
|
|
+ "nickName": info.nick_name,
|
|
|
+ "userType": info.user_type,
|
|
|
+ "email": info.email,
|
|
|
+ "phonenumber": info.phonenumber,
|
|
|
+ "sex": info.sex,
|
|
|
+ "avatar": info.avatar,
|
|
|
+ "status": info.status,
|
|
|
+ "loginIp": info.login_ip,
|
|
|
+ "loginDate": get_datetime_str(info.login_date),
|
|
|
+ "remark": info.remark,
|
|
|
+ "createTime": get_datetime_str(info.create_time),
|
|
|
+ "deptName": dept_name,
|
|
|
+ "roles": roles,
|
|
|
+ "roleIds": None,
|
|
|
+ "postIds": None,
|
|
|
+ "roleId": None
|
|
|
+ },
|
|
|
+ "permissions": [
|
|
|
+ "*:*:*"
|
|
|
],
|
|
|
- "roleIds": None,
|
|
|
- "postIds": None,
|
|
|
- "roleId": None
|
|
|
- },
|
|
|
- "permissions": [
|
|
|
- "*:*:*"
|
|
|
- ],
|
|
|
- "roles": [
|
|
|
- "superadmin"
|
|
|
- ]
|
|
|
- }
|
|
|
+ "roles": role_keys
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@router.get('/deptTree')
|
|
|
-async def deptTree(request: Request,db: Session = Depends(get_db), user: AuthUser = Depends(get_auth_user)):
|
|
|
+async def deptTree(request: Request,db: Session = Depends(get_db), user_id: int = Depends(valid_access_token)):
|
|
|
pass
|
|
|
|
|
|
|
|
|
@router.get('/list')
|
|
|
-async def userlist(request: Request,db: Session = Depends(get_db), user: AuthUser = Depends(get_auth_user)):
|
|
|
+async def userlist(request: Request,db: Session = Depends(get_db), user_id: int = Depends(valid_access_token)):
|
|
|
pass
|
|
|
|
|
|
|