规则管理接口说明 规则管理下目前有两个模块:规则分类和规则列表。若部署时配置了 ROOT_PATH=/api/v1,则实际请求地址需要在以下路径前追加 /api/v1,例如 /api/v1/rule/category/list。 统一返回结构:所有接口返回 JSON 格式 { code, msg, data, status_code, success }。分页接口的 data 结构为 { page_no, page_size, total, has_next, items }。 一、规则分类模块 接口前缀:/rule/category 1. 查询规则分类分页列表 GET /rule/category/list 权限标识:module_rule:rule_category:query Query 参数:page_no、page_size、order_by、name、parent_id、status、created_time、updated_time、created_id、updated_id、tenant_id。 说明:name 为分类名称模糊查询;parent_id 为父级分类 ID,传 0 会按顶级分类 null 处理;status 为 0 启用、1 停用。 返回:data 为分页结构,items 中每项为规则分类对象。 2. 查询规则分类树 GET /rule/category/tree 权限标识:module_rule:rule_category:query Query 参数:name、parent_id、status、created_time、updated_time、created_id、updated_id、tenant_id。 说明:按 parent_id 组装树形结构,返回顶级分类及其 children。 返回:data 为规则分类树数组。 3. 查询规则分类详情 GET /rule/category/detail/{id} 权限标识:module_rule:rule_category:detail Path 参数:id,规则分类 ID。 返回:data 为规则分类对象。 4. 创建规则分类 POST /rule/category/create 权限标识:module_rule:rule_category:create Body 参数:name、parent_id、order、status、description。 字段说明:name 必填,1-64 字符;parent_id 可为空,0/null 表示顶级分类;order 默认为 999;status 默认为 0,0 启用、1 停用;description 最大 500 字符。 返回:data 为创建后的规则分类对象。 示例 Body:{ "name": "合同审核", "parent_id": null, "order": 1, "status": 0, "description": "合同审核相关规则" } 5. 修改规则分类 PUT /rule/category/update/{id} 权限标识:module_rule:rule_category:update Path 参数:id,规则分类 ID。 Body 参数:name、parent_id、order、status、description。 说明:父级分类不能选择自身,也不能选择当前分类的子级;同一父级下分类名称不能重复。 返回:data 为修改后的规则分类对象。 6. 删除规则分类 DELETE /rule/category/delete 权限标识:module_rule:rule_category:delete Body 参数:ID 数组,例如 [1, 2, 3]。 说明:如果分类下存在子分类,或分类下存在规则,不允许删除。 返回:data 为 null。 规则分类对象字段:id、uuid、name、parent_id、parent_name、order、status、description、tenant_id、tenant_by、created_id、created_by、updated_id、updated_by、deleted_id、deleted_by、created_time、updated_time、deleted_time、is_deleted。 二、规则列表模块 接口前缀:/rule 1. 查询规则分页列表 GET /rule/list 权限标识:module_rule:rule:query Query 参数:page_no、page_size、order_by、name、category_id、status、created_time、updated_time、created_id、updated_id、tenant_id。 说明:name 为规则名称模糊查询;category_id 为规则分类 ID,传 0 会按未分类 null 处理;status 为 0 启用、1 停用。 返回:data 为分页结构,items 中每项为规则对象。 2. 查询规则详情 GET /rule/detail/{id} 权限标识:module_rule:rule:detail Path 参数:id,规则 ID。 返回:data 为规则对象。 3. 创建规则 POST /rule/create 权限标识:module_rule:rule:create Body 参数:name、category_id、description、prompt_template、status。 字段说明:name 必填,1-128 字符;category_id 可为空,0/null 表示不选择分类;description 最大 2000 字符;prompt_template 必填,用于保存提示词模板;status 默认为 0,0 启用、1 停用。 说明:创建时会校验规则名称不能重复;如果传 category_id,会校验分类存在,并保存 category_name_snapshot 作为分类名称快照。 返回:data 为创建后的规则对象。 示例 Body:{ "name": "合同风险识别", "category_id": 1, "description": "识别合同中的风险条款", "prompt_template": "请根据以下合同内容识别风险点:{{content}}", "status": 0 } 4. 修改规则 PUT /rule/update/{id} 权限标识:module_rule:rule:update Path 参数:id,规则 ID。 Body 参数:name、category_id、description、prompt_template、status。 说明:会校验规则存在、规则名称不能与其他规则重复、分类存在,并重新保存 category_name_snapshot。 返回:data 为修改后的规则对象。 5. 删除规则 DELETE /rule/delete 权限标识:module_rule:rule:delete Body 参数:ID 数组,例如 [1, 2, 3]。 说明:执行软删除。 返回:data 为 null。 规则对象字段:id、uuid、name、category_id、category_name_snapshot、category_name、description、prompt_template、status、tenant_id、tenant_by、created_id、created_by、updated_id、updated_by、deleted_id、deleted_by、created_time、updated_time、deleted_time、is_deleted。 补充说明:category_id 是规则与规则分类的真实关联字段;category_name_snapshot 是创建或修改规则时保存的分类名称快照;category_name 当前返回值等于 category_name_snapshot。prompt_template 在数据库中使用 Text 类型保存,适合较长提示词模板。