""" 文件模板管理控制器模块 ============================================================= 提供文件模板(FileTemplate)相关的API接口,包括: - 文件模板分页查询 - 文件模板详情查询 - 文件模板添加、更新、删除 - 文件模板列表获取 - 模板文件上传 - 模板文件下载 所属包: application.views 依赖模块: application.services.file_template - 文件模板业务逻辑层 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 file_template from utils.request import parse_batch_ids file_template_blue = Blueprint('file_template', __name__, url_prefix='/file/template') from utils import R # ============================================================ # 文件模板分页查询 # ============================================================ @file_template_blue.route('/page', methods=["GET"]) @check_permission("sys:filetemplate:page") def page(): """ 查询文件模板分页数据 功能说明: 获取文件模板列表的分页数据,支持关键词搜索。 Returns: JSON: 文件模板分页数据,包含 records(数据列表)、total(总记录数)等 """ result = file_template.get_file_template_page() return result # ============================================================ # 文件模板详情查询 # ============================================================ @file_template_blue.route('/detail/', methods=["GET"]) @check_permission("sys:filetemplate:detail") def detail(id): """ 查询文件模板详情 Args: id: 文件模板ID Returns: JSON: 文件模板详细信息 """ data = file_template.get_file_template_detail(id) if data: return R.ok(data=data) return R.failed("模板不存在") # ============================================================ # 文件模板添加 # ============================================================ @file_template_blue.route('/add', methods=["POST"]) @check_permission("sys:filetemplate:add") @check_demo def add(): """ 添加文件模板 功能说明: 创建新的文件模板记录。 Returns: JSON: 操作结果 """ result = file_template.add_file_template() return result # ============================================================ # 文件模板更新 # ============================================================ @file_template_blue.route('/update', methods=["PUT"]) @check_permission("sys:filetemplate:update") @check_demo def update(): """ 更新文件模板 功能说明: 修改已有文件模板的信息。 Returns: JSON: 操作结果 """ result = file_template.update_file_template() return result # ============================================================ # 文件模板删除 # ============================================================ @file_template_blue.route('/delete/', methods=["DELETE"]) @check_permission("sys:filetemplate:delete") @check_demo def delete(id): """ 删除文件模板 Args: id: 文件模板ID(支持逗号分隔的多个ID) Returns: JSON: 操作结果 """ result = file_template.delete_file_templates(id) return result # ============================================================ # 文件模板批量删除 # ============================================================ @file_template_blue.route('/batchDelete', methods=["DELETE"]) @check_permission("sys:filetemplate: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 file_template.delete_file_templates(id_str)