瀏覽代碼

241120-2代码。

baoyubo 7 月之前
父節點
當前提交
8c195e1f60
共有 2 個文件被更改,包括 86 次插入3 次删除
  1. 3 3
      routers/prod_api/system/dic/__init__.py
  2. 83 0
      routers/prod_api/system/user/__init__.py

+ 3 - 3
routers/prod_api/system/dic/__init__.py

@@ -422,7 +422,7 @@ async def get_dict_data_by_type(
         query = db.query(SysDictData)
         query = query.filter(SysDictData.dict_type==dict_type)
         query = query.filter(SysDictData.del_flag != '2')
-
+        query = query.order_by(SysDictData.dict_sort)
         # dict_data = db.query(SysDictData).filter_by(dict_type==dict_type and del_flag != '2').all()
         dict_data = query.all()
         # 将模型转换为字典
@@ -484,8 +484,8 @@ async def updata_dict_type(
         if not dict_data:
             detail = "dict_data不存在"
             raise HTTPException(status_code=404, detail="dict_data不存在")
-        if form_data.dictSort:
-            dict_data.dict_sort = form_data.dictSort
+        if "dictSort" in body:
+            dict_data.dict_sort = body['dictSort']
         if form_data.dictLabel:
             dict_data.dict_label = form_data.dictLabel
         if form_data.dictValue:

+ 83 - 0
routers/prod_api/system/user/__init__.py

@@ -566,6 +566,89 @@ async def authRoleUpdate( userId: int = Query(None ,description='用户id'),
     except Exception as e:
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+@router.get('/profile')
+async def userlist( #user_id_1: int = Query(None ,description='用户id'),
+                    db: Session = Depends(get_db),
+                    user_id: int = Depends(valid_access_token)):
+    try:
+
+        user = user_id_get_user_info(db,user_id)
+        # 将查询结果转换为列表形式的字典
+        roleIds = user_id_get_user_roleIds(db, user_id)
+        user_roles = role_id_list_get_user_role(db,roleIds)
+        dept = dept_id_get_dept_info(db,user.dept_id)
+        user_list = {
+                "admin":1 in roleIds,
+                "avatar": user.avatar,
+                "createBy":user_id_get_user_info(db,user.create_by).user_name,
+                "createTime": user.create_time.strftime('%Y-%m-%d %H:%M:%S') if user.create_time else '',
+                "delFlag":user.del_flag,
+                "dept":{
+                        "createBy": user_id_get_user_info(db,dept.create_by).user_name if user.create_by else  None,
+                        "createTime": dept.create_time.strftime('%Y-%m-%d %H:%M:%S') if user.create_time else None,
+                        "updateBy": user_id_get_user_info(db,dept.update_by).user_name if user.update_by else  None,
+                        "updateTime": dept.create_time.strftime('%Y-%m-%d %H:%M:%S') if user.create_time else None,
+                        "remark": '',#dept.remark,
+                        "deptId": dept.dept_id,
+                        "parentId": dept.parent_id,
+                        "ancestors": dept.ancestors,
+                        "deptName": dept.dept_name,
+                        "orderNum": dept.order_num,
+                        "leader": dept.leader_name,
+                        "phone": dept.phone,
+                        "email": dept.email,
+                        "status": dept.status,
+                        "delFlag": dept.del_flag,
+                        "parentName": dept.parent_name,
+                        "children": []
+                    },
+                "deptId": user.dept_id,
+                "email": user.email,
+                "loginDate": user.login_date.strftime('%Y-%m-%d %H:%M:%S') if user.login_date else '',
+                "loginIp": user.login_ip,
+                "nickName": user.nick_name,
+                "password":"",
+                "phonenumber": user.phonenumber,
+                "postIds": None,
+                "remark": user.remark,
+                "roleId": None,
+                "roleIds": roleIds,
+                "roles": user_roles,
+                "sex": user.sex,
+                "status": user.status,
+                "updateBy":user.update_by,
+                "updateTime": user.create_time.strftime('%Y-%m-%d %H:%M:%S') if user.create_time else None,
+                "userId": user.user_id,
+                "userName": user.user_name,
+                "tenantId": user.tenant_id,
+                "userType": user.user_type,
+                "deptName": dept.dept_name,
+            }
+
+        roles = get_role(db,roleIds)
+
+
+        # 返回结果
+        return {
+            "code": 200,
+            "msg": "成功用户列表",
+            "data": user_list,
+                # {
+                # "user":user_list,
+                # "roleIds":roleIds,
+                # "roles":roles,
+                # "postIds":[],
+                # "posts":[]
+            # }
+            "postGroup":"工作人员",
+            "roleGroup":"工作人员"
+        }
+
+
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+
 @router.get('/authRole/{user_id_1}')
 @router.get('/{user_id_1}')
 async def userlist( user_id_1: int = Query(None ,description='用户id'),