feat(conduct): add restore revoked record functionality and update history view
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user