12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #!/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
|