#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends from database import get_db from sqlalchemy.orm import Session from models 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_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": 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": [ "*:*:*" ], "roles": role_keys } } @router.get('/deptTree') 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_id: int = Depends(valid_access_token)): pass