From 2523e3bf59fe4f7a9a973a8b47de2a968c2946d9 Mon Sep 17 00:00:00 2001 From: yuance <182865460@qq.com> Date: Wed, 27 May 2026 10:48:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A1=B9=E7=9B=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9B=AE=E5=BD=95=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/controller/AiCloudDocController.java | 14 +++++++++----- .../gxwebsoft/ai/service/AiCloudDocService.java | 3 ++- .../ai/service/impl/AiCloudDocServiceImpl.java | 5 ++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gxwebsoft/ai/controller/AiCloudDocController.java b/src/main/java/com/gxwebsoft/ai/controller/AiCloudDocController.java index 2376b81..79fec5e 100644 --- a/src/main/java/com/gxwebsoft/ai/controller/AiCloudDocController.java +++ b/src/main/java/com/gxwebsoft/ai/controller/AiCloudDocController.java @@ -64,8 +64,8 @@ public class AiCloudDocController extends BaseController { @Operation(summary = "根据id查询AI云文档目录表") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { - // 使用关联查询 - return success(aiCloudDocService.getByIdRel(id)); + // 使用关联查询,不限制 projectId + return success(aiCloudDocService.getByIdRel(id, null)); } //@PreAuthorize("hasAuthority('ai:aiCloudDoc:list')") @@ -87,9 +87,13 @@ public class AiCloudDocController extends BaseController { aiCloudDoc.setUserId(loginUser.getUserId()); } if(aiCloudDoc.getParentId()>0) { - AiCloudDoc aiCloudDocParent = aiCloudDocService.getByIdRel(aiCloudDoc.getParentId()); - aiCloudDoc.setCategoryId(aiCloudDocParent.getCategoryId()); - aiCloudDoc.setCompanyId(aiCloudDocParent.getCompanyId()); + AiCloudDoc aiCloudDocParent = aiCloudDocService.getByIdRel(aiCloudDoc.getParentId(), aiCloudDoc.getProjectId()); + if(aiCloudDocParent != null) { + aiCloudDoc.setCategoryId(aiCloudDocParent.getCategoryId()); + aiCloudDoc.setCompanyId(aiCloudDocParent.getCompanyId()); + } else { + return fail("父文档不存在或无权访问"); + } } // 设置 docType if (aiCloudDoc.getProjectId() != null && aiCloudDoc.getProjectId() != 0) { diff --git a/src/main/java/com/gxwebsoft/ai/service/AiCloudDocService.java b/src/main/java/com/gxwebsoft/ai/service/AiCloudDocService.java index 1f2d77a..702e90d 100644 --- a/src/main/java/com/gxwebsoft/ai/service/AiCloudDocService.java +++ b/src/main/java/com/gxwebsoft/ai/service/AiCloudDocService.java @@ -34,9 +34,10 @@ public interface AiCloudDocService extends IService { * 根据id查询 * * @param id ID + * @param projectId 项目ID * @return AiCloudDoc */ - AiCloudDoc getByIdRel(Integer id); + AiCloudDoc getByIdRel(Integer id, Integer projectId); /** * 根据目录ID获取本身及所有子孙目录 diff --git a/src/main/java/com/gxwebsoft/ai/service/impl/AiCloudDocServiceImpl.java b/src/main/java/com/gxwebsoft/ai/service/impl/AiCloudDocServiceImpl.java index 25c4442..5cf4c4e 100644 --- a/src/main/java/com/gxwebsoft/ai/service/impl/AiCloudDocServiceImpl.java +++ b/src/main/java/com/gxwebsoft/ai/service/impl/AiCloudDocServiceImpl.java @@ -79,9 +79,12 @@ public class AiCloudDocServiceImpl extends ServiceImpl