Parcourir la source

250514-2代码。

baoyubo il y a 4 jours
Parent
commit
3787d0074f
2 fichiers modifiés avec 44 ajouts et 51 suppressions
  1. 2 2
      common/enc/sys_menu_layer_data.py
  2. 42 49
      routers/api/layerConfiguration/__init__.py

+ 2 - 2
common/enc/sys_menu_layer_data.py

@@ -58,12 +58,12 @@ def get_sign_str(row: SysMenuLayer) -> str:
     path = mpfun.base64_data(row.path) # 路由地址
     component = mpfun.base64_data(row.component) # 组件路径
     menu_type = row.menu_type # 菜单类型
-    visible = row.visible # 显示状态
+    layer_visible = row.layer_visible # 显示状态
     status = str(row.status) # 状态
     del_flag = row.del_flag # 删除标志
 
     # 关键字段合并字符串
-    sign_data = ",".join([menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, del_flag])
+    sign_data = ",".join([menu_id, menu_name, parent_id, order_num, path, component, menu_type, layer_visible, status, del_flag])
     return sign_data
 
 # 生成HAMC签名值

+ 42 - 49
routers/api/layerConfiguration/__init__.py

@@ -2,6 +2,7 @@
 # -*- coding: utf-8 -*-
 
 from fastapi import APIRouter, Request, Depends, Query, HTTPException, status
+from fastapi.responses import JSONResponse
 from common.security import valid_access_token
 from pydantic import BaseModel
 from database import get_db
@@ -70,6 +71,9 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
         query = db.query(SysMenuLayer)
         query = query.filter_by(parent_id=0)
         query = query.filter(SysMenuLayer.del_flag != '2')
+        query = query.filter(SysMenuLayer.status != '1')
+        query = query.order_by(SysMenuLayer.order_num)
+
         menus =query.all()  # 顶级菜单
 
         # 递归函数用于构建树形结构
@@ -108,6 +112,8 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
                     query = db.query(SysMenuLayer)
                     query = query.filter_by(parent_id=menu.menu_id)
                     query = query.filter(SysMenuLayer.del_flag != '2')
+                    query = query.filter(SysMenuLayer.status != '1')
+                    query = query.order_by(SysMenuLayer.order_num)
                     # children_menus = db.query(SysMenu).filter_by(parent_id=menu.menu_id).all()
                     children_menus = query.all()
                     menu_data.children = build_menu_tree(children_menus, menu)
@@ -162,6 +168,7 @@ async def get_list(
         query = query.filter(SysMenuLayer.menu_type=='T')
     if status:
         query = query.filter(SysMenuLayer.status==status)
+    query = query.order_by(SysMenuLayer.order_num)
     # 应用查询
     # menu_list = db.query(SysMenu).filter(
     #     (SysMenu.menu_name.like(f'%{menu_name}%')) ,
@@ -176,18 +183,19 @@ async def get_list(
             "orderNum": menu.order_num,
             "path": menu.path,
             "component": menu.component,
-            "queryParam": menu.query_param,
-            "isFrame": str(menu.is_frame),
-            "isCache": str(menu.is_cache),
+            # "queryParam": menu.query_param,
+            # "isFrame": str(menu.is_frame),
+            # "isCache": str(menu.is_cache),
             "menuType": menu.menu_type,
-            "layerVisible": menu.layer_visible,
+            # "layerVisible": menu.layer_visible,
             "status": menu.status,
-            "perms": menu.perms,
+            # "perms": menu.perms,
             "icon": menu.icon,
-            "createDept": menu.create_dept,
+            # "createDept": menu.create_dept,
             "remark": menu.remark,
             "createTime": menu.create_time.strftime('%Y-%m-%d %H:%M:%S') if menu.create_time else '',
-            "children": []  # 递归调用以获取子菜单
+            "children": [] , # 递归调用以获取子菜单
+            # "layer_template":menu.layer_template
         } for menu in menu_list]
 
 
@@ -222,19 +230,19 @@ async def get_list(
             "orderNum": menu.order_num,
             "path": menu.path,
             "component": menu.component,
-            "queryParam": menu.query_param,
-            "isFrame": str(menu.is_frame),
-            "isCache": str(menu.is_cache),
+            # "queryParam": menu.query_param,
+            # "isFrame": str(menu.is_frame),
+            # "isCache": str(menu.is_cache),
             "menuType": menu.menu_type,
-            "layerVisible": menu.layer_visible,
+            # "layerVisible": menu.layer_visible,
             "status": menu.status,
-            "perms": menu.perms,
+            # "perms": menu.perms,
             "icon": menu.icon,
-            "createDept": menu.create_dept,
+            # "createDept": menu.create_dept,
             "remark": menu.remark,
             "createTime": menu.create_time.strftime('%Y-%m-%d %H:%M:%S') if menu.create_time else '',
             "children": [],  # 递归调用以获取子菜单
-            "layer_template":menu.layer_template
+            # "layer_template":menu.layer_template
         }
 
     return {
@@ -265,17 +273,17 @@ async def create(
             parent_id=body['parentId'],
             order_num=body['orderNum'],
             path=body['path'],
-            is_frame=int(body['isFrame']),
-            is_cache=int(body['isCache']),
+            # is_frame=int(body['isFrame']),
+            # is_cache=int(body['isCache']),
             menu_type=body['menuType'],
-            layer_visible=body['layerVisible'],
+            # layer_visible=body['layerVisible'],
             status=body['status'],
             icon=body['icon'],
             component=body['component'],
-            perms=body['perms'],
-            query_param=body['queryParam'],
+            # perms=body['perms'],
+            # query_param=body['queryParam'],
             create_by=user_id,
-            layer_template=body['layer_template']
+            # layer_template=body['layer_template']
         )
         db.add(new_menu_layer)
 
@@ -326,10 +334,10 @@ async def update(
             menu.component = body['component']
         if 'icon' in body:
             menu.icon = body['icon']
-        if 'isCache' in body:
-            menu.is_cache = body['isCache']
-        if 'isFrame' in body:
-            menu.is_frame = body['isFrame']
+        # if 'isCache' in body:
+        #     menu.is_cache = body['isCache']
+        # if 'isFrame' in body:
+        #     menu.is_frame = body['isFrame']
         if 'menuName' in body:
             menu.menu_name = body['menuName']
         if 'menuType' in body:
@@ -340,16 +348,16 @@ async def update(
             menu.parent_id = body['parentId']
         if 'path' in body:
             menu.path = body['path']
-        if 'perms' in body:
-            menu.perms = body['perms']
-        if 'queryParam' in body:
-            menu.query_param = body['queryParam']
+        # if 'perms' in body:
+        #     menu.perms = body['perms']
+        # if 'queryParam' in body:
+        #     menu.query_param = body['queryParam']
         if 'status' in body:
             menu.status = body['status']
-        if 'layer_visible' in body:
-            menu.layer_visible = body['layerVisible']
-        if 'layer_template' in body:
-            menu.layer_template = body['layer_template']
+        # if 'layer_visible' in body:
+        #     menu.layer_visible = body['layerVisible']
+        # if 'layer_template' in body:
+        #     menu.layer_template = body['layer_template']
         
         menu.update_by = user_id
         menu.update_time = datetime.now()
@@ -384,19 +392,6 @@ async def delete(
     user_id = Depends(valid_access_token)
 ):
     try:
-        db.begin()
-        query = db.query(SysMenu)
-        query = query.filter(SysMenu.menu_id == menu_id)
-        query = query.filter(SysMenu.del_flag != '2')
-
-        menu_to_delete =query.first()
-        if not menu_to_delete:
-            detail = "菜单不存在"
-            raise HTTPException(status_code=404, detail="菜单不存在")
-        menu_to_delete.create_by = user_id
-        menu_to_delete.del_flag='2'
-        # db.delete(menu_to_delete)
-        # db.commit()
 
 
         queryLayer = db.query(SysMenuLayer)
@@ -406,7 +401,7 @@ async def delete(
         menu_to_delete = queryLayer.first()
         if not menu_to_delete:
             detail = "菜单不存在"
-            raise HTTPException(status_code=404, detail="菜单不存在")
+            return JSONResponse(status_code=404,content={"code":404,"msg":"该id不存在"})
         menu_to_delete.update_by = user_id
         menu_to_delete.update_time = datetime.now()
         menu_to_delete.del_flag = '2'
@@ -423,6 +418,4 @@ async def delete(
         traceback.print_exc()
         
         db.rollback()
-        if str(e)=='':
-            e = detail
-        raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(e))
+        return JSONResponse(status_code=404, content={"code": 404, "msg": str(e)})