""" 操作日志管理控制器模块 ============================================================= 提供操作日志(OperationLog)相关的API接口,包括: - 操作日志分页查询 - 操作日志详情查询 - 操作日志删除(支持批量) - 操作日志清空 - 操作日志统计 - 操作日志类型列表 所属包: application.views 依赖模块: application.services.operation_log - 操作日志业务逻辑层 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 application.services import operation_log from utils.request import parse_batch_ids operation_log_blue = Blueprint('operation_log', __name__, url_prefix='/oper/log') from utils import R # ============================================================ # 操作日志分页查询 # ============================================================ @operation_log_blue.route('/page', methods=["GET"]) @check_permission("sys:operation_log:page") def page(): """ 查询操作日志分页数据 功能说明: 获取操作日志列表的分页数据,支持按标题、操作类型、来源、 状态、时间范围等条件筛选。 Query Parameters: pageNo: 当前页码(可选,默认1) pageSize: 每页记录数(可选,默认PAGE_SIZE) title: 请求标题(可选,模糊查询) type: 请求类型(可选,精确查询) source: 请求来源(可选,0-后台,1-前台) status: 请求状态(可选,0-正常,1-异常) startTime: 开始时间(可选) endTime: 结束时间(可选) Returns: JSON: 操作日志分页数据,包含 records(数据列表)、total(总记录数)等 """ result = operation_log.get_operation_log_page() return result # ============================================================ # 操作日志详情查询 # ============================================================ @operation_log_blue.route('/detail/', methods=["GET"]) @check_permission("sys:operation_log:detail") def detail(id): """ 查询操作日志详情 Args: id: 操作日志ID Returns: JSON: 操作日志详细信息 """ data = operation_log.get_operation_log_detail(id) if data: return R.ok(data=data) return R.failed("日志不存在") # ============================================================ # 操作日志删除 # ============================================================ @operation_log_blue.route('/delete/', methods=["DELETE"]) @check_permission("sys:operation_log:delete") @check_demo def delete(id): """ 删除操作日志 Args: id: 操作日志ID(支持逗号分隔的多个ID) Returns: JSON: 操作结果 """ result = operation_log.delete_operation_logs(id) return result # ============================================================ # 操作日志批量删除 # ============================================================ @operation_log_blue.route('/batchDelete', methods=["DELETE"]) @check_permission("sys:operation_log:batch_delete") @check_demo def batch_delete(): """ 批量删除操作日志 功能说明: 批量删除操作日志记录,支持传入ID数组。 Request Body: [1, 2, 3] # 操作日志ID数组 Returns: JSON: 操作结果 """ id_str, err = parse_batch_ids() if err: return err return operation_log.delete_operation_logs(id_str)