diff --git a/hb-file/src/main/java/com/ruoyi/file/controller/FileController.java b/hb-file/src/main/java/com/ruoyi/file/controller/FileController.java index d7c598c..6dafadf 100644 --- a/hb-file/src/main/java/com/ruoyi/file/controller/FileController.java +++ b/hb-file/src/main/java/com/ruoyi/file/controller/FileController.java @@ -526,25 +526,45 @@ public class FileController { return RestResult.success().data(vo); } - //@Operation(summary = "修改文件访问权限", description = "修改文件访问权限", tags = {"file"}) - @ApiOperation(value = "5.4 修改文件访问权限") + @ApiOperation(value = "5.4 修改文件是否公开") @ApiOperationSupport(order = 4) - @RequestMapping(value = "/updateaccesspermission", method = RequestMethod.GET) + @RequestMapping(value = "/updateispublic", method = RequestMethod.GET) @ResponseBody - public RestResult updateAccessPermission( + public RestResult updateIsPublic( @Parameter(description = "用户文件Id", required = true) String userFileId, - @Parameter(description = "访问权限 0禁止其他用户访问 1登录后可访问 2具备权限可访问", required = true) String accessPermission){ + @Parameter(description = "是否公开 0否 1是", required = true) Integer isPublic){ try { UserFile userFile = new UserFile(); userFile.setUserFileId(userFileId); - userFile.setAccessPermission(accessPermission); + userFile.setIsPublic(isPublic); userFile.setModifyUserId(SecurityUtils.getUserId()); userFile.setModifyTime(DateUtil.getCurrentTime()); userFileService.updateById(userFile); } catch (Exception e) { - throw new QiwenException(999999, "修改文件访问权限异常"); + throw new QiwenException(999999, "修改文件是否公开异常"); } - return RestResult.success().message("修改文件访问权限成功"); + return RestResult.success().message("修改文件是否公开成功"); + } + + //@Operation(summary = "修改文件访问权限", description = "修改文件访问权限", tags = {"file"}) + @ApiOperation(value = "5.5 修改文件访问范围") + @ApiOperationSupport(order = 5) + @RequestMapping(value = "/updateaccessscope", method = RequestMethod.GET) + @ResponseBody + public RestResult updateAccessScope( + @Parameter(description = "用户文件Id", required = true) String userFileId, + @Parameter(description = "访问范围", required = true) String accessScope){ + try { + UserFile userFile = new UserFile(); + userFile.setUserFileId(userFileId); + userFile.setAccessScope(accessScope); + userFile.setModifyUserId(SecurityUtils.getUserId()); + userFile.setModifyTime(DateUtil.getCurrentTime()); + userFileService.updateById(userFile); + } catch (Exception e) { + throw new QiwenException(999999, "修改文件访问范围异常"); + } + return RestResult.success().message("修改文件访问范围成功"); } } diff --git a/hb-file/src/main/java/com/ruoyi/file/domain/UserFile.java b/hb-file/src/main/java/com/ruoyi/file/domain/UserFile.java index 373d375..e67968b 100644 --- a/hb-file/src/main/java/com/ruoyi/file/domain/UserFile.java +++ b/hb-file/src/main/java/com/ruoyi/file/domain/UserFile.java @@ -66,8 +66,11 @@ public class UserFile { @TableField(exist = false) private Long fileSize; - @Column(columnDefinition="char(1) comment '修改用户id'") - private String accessPermission; + @Column(columnDefinition="int(0) comment '是否公开(0 否 1是)'") + private Integer isPublic; + + @Column(columnDefinition="varchar(25) comment '可见范围'") + private String accessScope; @Column(columnDefinition="bigint(0) comment '下载次数'") private Long downloadCnt; diff --git a/hb-file/src/main/java/com/ruoyi/file/dto/file/UserFileDTO.java b/hb-file/src/main/java/com/ruoyi/file/dto/file/UserFileDTO.java index 3472d28..929a73f 100644 --- a/hb-file/src/main/java/com/ruoyi/file/dto/file/UserFileDTO.java +++ b/hb-file/src/main/java/com/ruoyi/file/dto/file/UserFileDTO.java @@ -32,7 +32,11 @@ public class UserFileDTO { private Long fileSize; - private String accessPermission; + private Integer isPublic; + + private String accessScope; + + private Long downloadCnt; private List children = new ArrayList(); @@ -164,12 +168,28 @@ public class UserFileDTO { this.fileSize = fileSize; } - public String getAccessPermission() { - return accessPermission; + public Integer getIsPublic() { + return isPublic; } - public void setAccessPermission(String accessPermission) { - this.accessPermission = accessPermission; + public void setIsPublic(Integer isPublic) { + this.isPublic = isPublic; + } + + public String getAccessScope() { + return accessScope; + } + + public void setAccessScope(String accessScope) { + this.accessScope = accessScope; + } + + public Long getDownloadCnt() { + return downloadCnt; + } + + public void setDownloadCnt(Long downloadCnt) { + this.downloadCnt = downloadCnt; } public List getChildren() { @@ -179,4 +199,5 @@ public class UserFileDTO { public void setChildren(List children) { this.children = children; } + } diff --git a/hb-file/src/main/java/com/ruoyi/file/mapper/UserFileMapper.java b/hb-file/src/main/java/com/ruoyi/file/mapper/UserFileMapper.java index 2e533ca..e116050 100644 --- a/hb-file/src/main/java/com/ruoyi/file/mapper/UserFileMapper.java +++ b/hb-file/src/main/java/com/ruoyi/file/mapper/UserFileMapper.java @@ -20,5 +20,7 @@ public interface UserFileMapper extends BaseMapper { List selectFileTreeByUserId(Long userId); - int incrementDownloadCount(@Param("userFileIdList") List userFileIdList); + int incrementDownloadCount(@Param("userFileIds") List userFileIds); + + List selectByUserFileIds(@Param("userFileIds")List userFileIds); } diff --git a/hb-file/src/main/java/com/ruoyi/file/service/impl/UserFileServiceImpl.java b/hb-file/src/main/java/com/ruoyi/file/service/impl/UserFileServiceImpl.java index 58b4eb7..8436c2c 100644 --- a/hb-file/src/main/java/com/ruoyi/file/service/impl/UserFileServiceImpl.java +++ b/hb-file/src/main/java/com/ruoyi/file/service/impl/UserFileServiceImpl.java @@ -278,7 +278,7 @@ public class UserFileServiceImpl extends ServiceImpl i rootNode.setChildren(new ArrayList<>()); for (UserFileDTO userFile : userFileList) { - QiwenFile qiwenFile = new QiwenFile(userFile.getFilePath(), userFile.getFileName(), false); + QiwenFile qiwenFile = new QiwenFile(userFile.getFilePath(), userFile.getFileName(), userFile.getIsDir() == 1); String filePath = qiwenFile.getPath(); Queue queue = new LinkedList<>(); @@ -305,8 +305,8 @@ public class UserFileServiceImpl extends ServiceImpl i } @Override - public int incrementDownloadCount(List userFileIdList) { - return userFileMapper.incrementDownloadCount(userFileIdList); + public int incrementDownloadCount(List userFileIds) { + return userFileMapper.incrementDownloadCount(userFileIds); } @@ -327,10 +327,12 @@ public class UserFileServiceImpl extends ServiceImpl i if (childNode == null) { // 没有该子节点 -> 插入 childNode = new FileTreeSelect(); - childNode.setLabel(nodeNameQueue.poll()); + childNode.setLabel(nodeNameQueue.poll() + (userFile.getIsDir() == 0 ? "." + userFile.getExtendName() : "")); + childNode.setIsDir(userFile.getIsDir()); + childNode.setIsPublic(userFile.getIsPublic()); childNode.setChildren(new ArrayList<>()); - // ⚠️ 所有节点都绑定 userFileId(目录/文件都在 UserFile 表里) + // 所有节点都绑定 userFileId(目录/文件都在 UserFile 表里) childNode.setId(userFile.getUserFileId()); childrenTreeNodes.add(childNode); diff --git a/hb-file/src/main/java/com/ruoyi/file/util/FileTreeSelect.java b/hb-file/src/main/java/com/ruoyi/file/util/FileTreeSelect.java index f6e6b5d..0273479 100644 --- a/hb-file/src/main/java/com/ruoyi/file/util/FileTreeSelect.java +++ b/hb-file/src/main/java/com/ruoyi/file/util/FileTreeSelect.java @@ -20,6 +20,10 @@ public class FileTreeSelect implements Serializable /** 节点名称 */ private String label; + private Integer isDir; + + private Integer isPublic; + /** 子节点 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; @@ -49,6 +53,22 @@ public class FileTreeSelect implements Serializable this.label = label; } + public Integer getIsDir() { + return isDir; + } + + public void setIsDir(Integer isDir) { + this.isDir = isDir; + } + + public Integer getIsPublic() { + return isPublic; + } + + public void setIsPublic(Integer isPublic) { + this.isPublic = isPublic; + } + public List getChildren() { return children; diff --git a/hb-file/src/main/resources/mapper/UserFileMapper.xml b/hb-file/src/main/resources/mapper/UserFileMapper.xml index bef6cf0..a3cce22 100644 --- a/hb-file/src/main/resources/mapper/UserFileMapper.xml +++ b/hb-file/src/main/resources/mapper/UserFileMapper.xml @@ -23,7 +23,8 @@ - + + @@ -44,7 +45,8 @@ - + + @@ -104,16 +106,25 @@ UPDATE userfile SET downloadCnt = downloadCnt + 1 WHERE userFileId IN - + #{userFileId} + +