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