feat(conduct): add restore revoked record functionality and update history view

This commit is contained in:
2026-04-23 11:19:35 +08:00
parent 03aaaa53a9
commit bf0314f098
5 changed files with 115 additions and 13 deletions

View File

@@ -231,6 +231,33 @@ async def revoke_conduct_record(request: Request, req: RevokeRequest):
return error_response(message=result["message"])
@router.post("/conduct/restore")
async def restore_conduct_record(request: Request, req: RevokeRequest):
"""反撤销(恢复)已撤销的记录"""
user = await get_current_user(request)
result = await ConductService.restore_record(
record_id=req.record_id,
restorer_id=user["user_id"]
)
if result["success"]:
record = result.get("record", {})
await LogService.write_operation_log(
operator_id=user["user_id"], operator_name=user["username"],
operator_role="班主任", operation_type="restore_record",
target_type="conduct", target_id=req.record_id,
details=(
f"反撤销记录ID: {req.record_id}, "
f"原操作人: {record.get('recorder_name', '未知')}, "
f"原分值变动: {'+' if record.get('points_change', 0) > 0 else ''}{record.get('points_change', 0)}分, "
f"反撤销操作人: {user['username']}"
),
ip=request.client.host
)
return success_response(message="反撤销成功")
else:
return error_response(message=result["message"])
@router.get("/conduct/history")
async def get_conduct_history(
request: Request,