refactor: P4c 最终批次-6 user 模块(最后一个)——P4 全部完成

【改造】get_user_page/add/update/status/delete 按新范式;
update_user_info/update_password/reset_user_password 入参 data + BizError;
get_info 委托 UserRepository
【验收】flake8 零告警;应用启动;user 分页/详情运行时正常;12 passed

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 17:32:54 +08:00
co-authored by Claude
parent b9ce9dc510
commit 2bf2179611
4 changed files with 290 additions and 338 deletions
+41 -22
View File
@@ -56,21 +56,24 @@
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.user import service as user
from src.common.utils.request import parse_batch_ids
user_blue = Blueprint('user', __name__, url_prefix='/user')
from src.common.utils.request import parse_batch_ids, parse_request_body
from src.core import response as R
user_blue = Blueprint("user", __name__, url_prefix="/user")
# ============================================================
# 用户分页查询
# ============================================================
@user_blue.route('/page', methods=["GET"])
@user_blue.route("/page", methods=["GET"])
@check_permission("sys:user:page")
def page():
"""
@@ -82,15 +85,15 @@ def page():
Returns:
JSON: 用户分页数据,包含 records(数据列表)、total(总记录数)等
"""
result = user.get_user_page()
return result
return R.ok(data=user.get_user_page(request.args))
# ============================================================
# 用户详情查询
# ============================================================
@user_blue.route('/detail/<int:id>', methods=["GET"])
@user_blue.route("/detail/<int:id>", methods=["GET"])
@check_permission("sys:user:detail")
def detail(id):
"""
@@ -110,7 +113,8 @@ def detail(id):
# 用户添加
# ============================================================
@user_blue.route('/add', methods=["POST"])
@user_blue.route("/add", methods=["POST"])
@check_permission("sys:user:add")
@check_demo
def add():
@@ -123,15 +127,19 @@ def add():
Returns:
JSON: 操作结果
"""
result = user.add_user()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
user.add_user(json_data)
return R.ok(msg="添加成功")
# ============================================================
# 用户更新
# ============================================================
@user_blue.route('/update', methods=["PUT"])
@user_blue.route("/update", methods=["PUT"])
@check_permission("sys:user:update")
@check_demo
def update():
@@ -144,15 +152,19 @@ def update():
Returns:
JSON: 操作结果
"""
result = user.update_user()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
user.update_user(json_data)
return R.ok(msg="更新成功")
# ============================================================
# 用户删除
# ============================================================
@user_blue.route('/delete/<string:id>', methods=["DELETE"])
@user_blue.route("/delete/<string:id>", methods=["DELETE"])
@check_permission("sys:user:delete")
@check_demo
def delete(id):
@@ -165,15 +177,16 @@ def delete(id):
Returns:
JSON: 操作结果
"""
result = user.delete_users(id)
return result
count = user.delete_users(id)
return R.ok(msg=f"本次共删除{count}条数据")
# ============================================================
# 用户批量删除
# ============================================================
@user_blue.route('/batchDelete', methods=["DELETE"])
@user_blue.route("/batchDelete", methods=["DELETE"])
@check_permission("sys:user:batch_delete")
@check_demo
def batch_delete():
@@ -192,14 +205,16 @@ def batch_delete():
id_str, err = parse_batch_ids()
if err:
return err
return user.delete_users(id_str)
count = user.delete_users(id_str)
return R.ok(msg=f"本次共删除{count}条数据")
# ============================================================
# 用户状态设置
# ============================================================
@user_blue.route('/status', methods=["PUT"])
@user_blue.route("/status", methods=["PUT"])
@check_permission("sys:user:status")
@check_demo
def status():
@@ -212,15 +227,19 @@ def status():
Returns:
JSON: 操作结果
"""
result = user.update_user_status()
return result
json_data, err = parse_request_body()
if err:
return R.failed(msg=err)
user.update_user_status(json_data)
return R.ok(msg="更新成功")
# ============================================================
# 用户密码重置
# ============================================================
@user_blue.route('/resetPwd', methods=["PUT"])
@user_blue.route("/resetPwd", methods=["PUT"])
@check_permission("sys:user:resetPwd")
@check_demo
def reset_pwd():