refactor: P4c 最终批次-2 dictionary 模块(dict+dict_item 合并服务)

【修复合并遗留】
- 重命名重名函数(_apply_dict_item_filters/get_dict_item_info/
  _build_dict_item_page_data),修复 get_info 调用点
- router 双 blueprint 合并导入、dict_item 视图函数重命名
- schema/service/models 中部重复 import 行级去重
- 修复 schema typo DictItemItem
- models.py 误改后从 git 恢复(P4c 不需改 models)

【教训】regex 改复杂合并文件易误伤(.*?跨 docstring 匹配删了顶部导入),
已恢复并改用精确行级去重

【验收】flake8 零告警;应用启动;dict/dict_item 分页运行时正常;12 passed

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 16:26:33 +08:00
co-authored by Claude
parent a054b14485
commit 9acbf6275e
7 changed files with 288 additions and 426 deletions
+66 -50
View File
@@ -53,22 +53,25 @@
依赖模块: application.services.dicts - 字典业务逻辑层
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.dictionary import service as dict
from src.common.utils.request import parse_batch_ids
dict_blue = Blueprint('dict', __name__, url_prefix='/dict')
from src.modules.dictionary import service as dict_item
from src.common.utils.request import parse_batch_ids, parse_request_body
from src.core import response as R
dict_blue = Blueprint("dict", __name__, url_prefix="/dict")
# ============================================================
# 字典分页查询
# ============================================================
@dict_blue.route('/page', methods=["GET"])
@dict_blue.route("/page", methods=["GET"])
@check_permission("sys:dict:page")
def page():
"""
@@ -80,15 +83,15 @@ def page():
Returns:
JSON: 字典分页数据,包含 records(数据列表)、total(总记录数)等
"""
result = dict.get_dict_page()
return result
return R.ok(data=dict.get_dict_page(request.args))
# ============================================================
# 字典详情查询
# ============================================================
@dict_blue.route('/detail/<int:id>', methods=["GET"])
@dict_blue.route("/detail/<int:id>", methods=["GET"])
@check_permission("sys:dict:detail")
def detail(id):
"""
@@ -108,7 +111,8 @@ def detail(id):
# 字典添加
# ============================================================
@dict_blue.route('/add', methods=["POST"])
@dict_blue.route("/add", methods=["POST"])
@check_permission("sys:dict:add")
@check_demo
def add():
@@ -121,15 +125,19 @@ def add():
Returns:
JSON: 操作结果
"""
result = dict.add_dict()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
dict.add_dict(json_data)
return R.ok(msg="添加成功")
# ============================================================
# 字典更新
# ============================================================
@dict_blue.route('/update', methods=["PUT"])
@dict_blue.route("/update", methods=["PUT"])
@check_permission("sys:dict:update")
@check_demo
def update():
@@ -142,15 +150,19 @@ def update():
Returns:
JSON: 操作结果
"""
result = dict.update_dict()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
dict.update_dict(json_data)
return R.ok(msg="更新成功")
# ============================================================
# 字典删除
# ============================================================
@dict_blue.route('/delete/<string:id>', methods=["DELETE"])
@dict_blue.route("/delete/<string:id>", methods=["DELETE"])
@check_permission("sys:dict:delete")
@check_demo
def delete(id):
@@ -163,15 +175,16 @@ def delete(id):
Returns:
JSON: 操作结果
"""
result = dict.delete_dicts(id)
return result
count = dict.delete_dicts(id)
return R.ok(msg=f"本次共删除{count}条数据")
# ============================================================
# 字典批量删除
# ============================================================
@dict_blue.route('/batchDelete', methods=["DELETE"])
@dict_blue.route("/batchDelete", methods=["DELETE"])
@check_permission("sys:dict:batch_delete")
@check_demo
def batch_delete():
@@ -190,9 +203,8 @@ def batch_delete():
id_str, err = parse_batch_ids()
if err:
return err
return dict.delete_dicts(id_str)
count = dict.delete_dicts(id_str)
return R.ok(msg=f"本次共删除{count}条数据")
"""
@@ -208,24 +220,17 @@ def batch_delete():
依赖模块: application.services.dicts_data - 字典项业务逻辑层
application.middleware.check_permission - 权限校验中间件
"""
from flask import Blueprint
from application.middleware.check_demo import check_demo
from application.middleware.check_permission import check_permission
from src.modules.dictionary import service as dict_item
from src.common.utils.request import parse_batch_ids
dict_item_blue = Blueprint('dict_item', __name__, url_prefix='/dict/item')
from src.core import response as R
dict_item_blue = Blueprint("dict_item", __name__, url_prefix="/dict/item")
# ============================================================
# 字典项分页查询
# ============================================================
@dict_item_blue.route('/page', methods=["GET"])
@dict_item_blue.route("/page", methods=["GET"])
@check_permission("sys:dictitem:page")
def page():
def dict_item_page():
"""
查询字典项分页数据
@@ -235,17 +240,17 @@ def page():
Returns:
JSON: 字典项分页数据,包含 records(数据列表)、total(总记录数)等
"""
result = dict_item.get_dict_item_page()
return result
return R.ok(data=dict_item.get_dict_item_page(request.args))
# ============================================================
# 字典项详情查询
# ============================================================
@dict_item_blue.route('/detail/<int:id>', methods=["GET"])
@dict_item_blue.route("/detail/<int:id>", methods=["GET"])
@check_permission("sys:dictitem:detail")
def detail(id):
def dict_item_detail(id):
"""
查询字典项详情
@@ -263,10 +268,11 @@ def detail(id):
# 字典项添加
# ============================================================
@dict_item_blue.route('/add', methods=["POST"])
@dict_item_blue.route("/add", methods=["POST"])
@check_permission("sys:dictitem:add")
@check_demo
def add():
def dict_item_add():
"""
添加字典项
@@ -276,18 +282,22 @@ def add():
Returns:
JSON: 操作结果
"""
result = dict_item.add_dict_item()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
dict_item.add_dict_item(json_data)
return R.ok(msg="添加成功")
# ============================================================
# 字典项更新
# ============================================================
@dict_item_blue.route('/update', methods=["PUT"])
@dict_item_blue.route("/update", methods=["PUT"])
@check_permission("sys:dictitem:update")
@check_demo
def update():
def dict_item_update():
"""
更新字典项
@@ -297,18 +307,22 @@ def update():
Returns:
JSON: 操作结果
"""
result = dict_item.update_dict_item()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
dict_item.update_dict_item(json_data)
return R.ok(msg="更新成功")
# ============================================================
# 字典项删除
# ============================================================
@dict_item_blue.route('/delete/<string:id>', methods=["DELETE"])
@dict_item_blue.route("/delete/<string:id>", methods=["DELETE"])
@check_permission("sys:dictitem:delete")
@check_demo
def delete(id):
def dict_item_delete(id):
"""
删除字典项
@@ -318,18 +332,19 @@ def delete(id):
Returns:
JSON: 操作结果
"""
result = dict_item.delete_dict_items(id)
return result
count = dict_item.delete_dict_items(id)
return R.ok(msg=f"本次共删除{count}条数据")
# ============================================================
# 字典项批量删除
# ============================================================
@dict_item_blue.route('/batchDelete', methods=["DELETE"])
@dict_item_blue.route("/batchDelete", methods=["DELETE"])
@check_permission("sys:dictitem:batch_delete")
@check_demo
def batch_delete():
def dict_item_batch_delete():
"""
批量删除字典项
@@ -345,4 +360,5 @@ def batch_delete():
id_str, err = parse_batch_ids()
if err:
return err
return dict_item.delete_dict_items(id_str)
count = dict_item.delete_dict_items(id_str)
return R.ok(msg=f"本次共删除{count}条数据")