refactor: P4c 批次4 服务层改造(role/menu/user_role/role_menu)

- role/menu 走 codemod(get_role_page/get_menu_detail 等 + get_info 委托 Repository)
- menu get_menu_list params 化返回 list;权限函数(get_user_permissions/
  get_user_permission_menus/invalidate_*)保持完整未动
- user_role 已符合新范式(参数化+返回 list)仅验证
- role_menu save_role_menu(data) 改 BizError + router 取参包 R

【验收】flake8 零告警;应用启动;权限函数跨模块运行正常;12 passed

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 15:40:33 +08:00
co-authored by Claude
parent d97e456744
commit 3dbce04eb1
10 changed files with 329 additions and 367 deletions
+28 -15
View File
@@ -53,21 +53,25 @@
application.middleware.check_permission - 权限校验中间件
"""
from flask import Blueprint
from flask import Blueprint, request
from application.middleware.check_demo import check_demo
from application.middleware.check_permission import check_permission
from src.modules.system.menu import service as menu
menu_blue = Blueprint('menu', __name__, url_prefix='/menu')
from src.common.utils.request import parse_request_body
from src.core import response as R
menu_blue = Blueprint("menu", __name__, url_prefix="/menu")
# ============================================================
# 菜单列表查询
# ============================================================
@menu_blue.route('/list', methods=["GET"])
@menu_blue.route("/list", methods=["GET"])
@check_permission("sys:menu:list")
def list():
"""
@@ -79,15 +83,15 @@ def list():
Returns:
JSON: 菜单列表数据
"""
result = menu.get_menu_list()
return result
return R.ok(data=menu.get_menu_list(request.args))
# ============================================================
# 菜单详情查询
# ============================================================
@menu_blue.route('/detail/<int:id>', methods=["GET"])
@menu_blue.route("/detail/<int:id>", methods=["GET"])
@check_permission("sys:menu:detail")
def detail(id):
"""
@@ -107,7 +111,8 @@ def detail(id):
# 菜单添加
# ============================================================
@menu_blue.route('/add', methods=["POST"])
@menu_blue.route("/add", methods=["POST"])
@check_permission("sys:menu:add")
@check_demo
def add():
@@ -120,15 +125,19 @@ def add():
Returns:
JSON: 操作结果
"""
result = menu.add_menu()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
menu.add_menu(json_data)
return R.ok(msg="添加成功")
# ============================================================
# 菜单更新
# ============================================================
@menu_blue.route('/update', methods=["PUT"])
@menu_blue.route("/update", methods=["PUT"])
@check_permission("sys:menu:update")
@check_demo
def update():
@@ -141,15 +150,19 @@ def update():
Returns:
JSON: 操作结果
"""
result = menu.update_menu()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
menu.update_menu(json_data)
return R.ok(msg="更新成功")
# ============================================================
# 菜单删除
# ============================================================
@menu_blue.route('/delete/<string:id>', methods=["DELETE"])
@menu_blue.route("/delete/<string:id>", methods=["DELETE"])
@check_permission("sys:menu:delete")
@check_demo
def delete(id):
@@ -162,5 +175,5 @@ def delete(id):
Returns:
JSON: 操作结果
"""
result = menu.delete_menus(id)
return result
count = menu.delete_menus(id)
return R.ok(msg=f"本次共删除{count}条数据")